Médiaforma

VBA Excel – Variables Static

Partagez cet article sur vos réseaux

Les variables sont généralement déclarées avec le mot-clé Dim. Cependant, dans certains cas, il peut être utile de les déclarer avec le mot-clé Static.

Lorsqu’une variable est déclarée avec le mot-clé Static dans une procédure ou une fonction, sa valeur est conservée à la fin de la procédure ou la fonction. Lorsque la procédure ou la fonction est à nouveau exécutée, la variable Static reprend la valeur qui avait été mémorisée.

Voici un exemple de code pour mieux comprendre le fonctionnement des variables Static :

Sub Incremente()

  Static i As Integer

  i = i + 1

  Cells(i, 2) = i

End Sub

Ici, la variable Static i de type Integer est définie dans la procédure Incremente().

Lors de la première exécution de la procédure :

  • La variable i vaut 0.
  • La deuxième instruction incrémente la variable i. Elle vaut donc 1.
  • La troisième instruction affiche la valeur de i dans la cellule à l’intersection de la ligne i et de la deuxième colonne. La cellule B1 contient donc la valeur 1.

Lors de la deuxième exécution de la procédure :

  • Comme la variable i est statique, elle conserve la valeur qu’elle lors de la première exécution : 1.
  • La deuxième instruction l’incrémente. Elle vaut donc 2.
  • La troisième instruction affiche la valeur de i (2) dans la cellule à l’intersection de la ligne i (2) et de la deuxième colonne. La valeur 2 apparait donc dans la cellule B2.

Ainsi de suite. Ici, le code a été exécuté 6 fois. Voici le résultat :

 
Commentaires