Easy-Micro

ESPACEMEMBRE Variables VBA
Variable static

Déclaration de variable static

En temps normal, lorsque vous déclarez une variable dans une fonction/procédure avec les mots 'Dim' et 'Private', la variable correspondante est :
  • réinitialisée à 0 s'il s'agit d'une variable numérique,
  • à une chaine vide s'il s'agit d'une 'String',
  • à la valeur 'Empty' s'il s'agit d'une variable 'Variant', etc.

Si vous souhaitez qu'une variable garde sa valeur de façon permanente, il faut remplacer le 'Dim' ou 'Private' par 'Static'.

Par exemple :
Function Combien() as Long
Dim L_ng as Long
L_ng = L_ng + 1
Combien = L_ng
End Function

Ici, à chaque appel de la fonction, la variable L_ng est réinitialisée à 0 et vaut 1 à la sortie de la fonction.
Par contre, si on écrit :

Function Combien() as Long
Static L_ng as Long
L_ng = L_ng + 1
Combien = L_ng
End Function

L_ng est initialisée à 0 lors du lancement de l'application, puis garde sa valeur précédente d'un appel à l'autre, donc L-ng (et donc Combien()) sera incrémenté de 1 à chaque appel.


< Page précédente VARIABLES VBA Page suivante >