62 votes

Est-il possible de déclarer une variable publique en vba et de lui attribuer une valeur par défaut ?

Je veux faire ça mais ça ne compile pas :

Public MyVariable as Integer = 123

Quelle est la meilleure façon d'y parvenir ?

0 votes

Où ce VBA est-il exécuté ? Excel, Access, Word...

0 votes

@DuncanHowe J'espérais une solution vba générique.

4 votes

Les variables globales ne sont-elles plus considérées comme un mal ? J'ai été absent pendant deux semaines en mai, j'ai donc pu manquer quelque chose.

2voto

Duncan Howe Points 1772

Vous pouvez définir la variable dans les déclarations générales, puis l'initialiser dans le premier événement qui se déclenche dans votre environnement.

Sinon, vous pouvez créer vous-même une classe avec les propriétés pertinentes et les initialiser dans la méthode Initialise.

2voto

Achilles Points 466

C'est ce que je fais lorsque j'ai besoin de constantes globales initialisées :
1. Ajoutez un module appelé Globals
2. Ajoutez des propriétés comme celles-ci dans le Globals module :

Property Get PSIStartRow() As Integer  
    PSIStartRow = Sheets("FOB Prices").Range("F1").Value  
End Property  
Property Get PSIStartCell() As String  
    PSIStartCell = "B" & PSIStartRow  
End Property

0voto

Paddy Points 16834

Ça fait un moment, mais je crois que ça va l'être :

Public MyVariable as Integer
MyVariable = 123

-1voto

Lucas B. Points 1

Cela fait un moment, mais cela peut vous satisfaire :

Public MyVariable as Integer: MyVariable = 123

C'est un peu laid car vous devez retaper le nom de la variable, mais c'est sur une seule ligne.

4 votes

Il produit une erreur de compilation : Invalide en dehors de la procédure

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X