![](https://codky.com/wp-content/uploads/2024/11/2766-1024x576.png)
L’instruction `Static` dans VBA (Visual Basic for Applications) est utilisée pour déclarer des variables dont la durée de vie s’étend sur l’ensemble des appels à une procédure. Contrairement aux variables locales normales, qui sont réinitialisées chaque fois que la procédure se termine, les variables déclarées avec `Static` conservent leur valeur entre les appels de la procédure.
Voici comment utiliser l’instruction `Static` dans VBA :
Exemple d’utilisation de `Static`
Supposons que vous souhaitiez créer une fonction qui compte combien de fois elle a été appelée. En utilisant `Static`, vous pouvez conserver la valeur du compteur même après que la procédure se soit terminée.
Sub CompteurAppels()
Static compteur As Integer ' Déclare une variable statique
' Incrémente le compteur
compteur = compteur + 1
' Affiche le nombre d'appels dans la fenêtre d'exécution
Debug.Print "La procédure a été appelée " & compteur & " fois."
End Sub
Explications
- Déclaration Static : La ligne `Static compteur As Integer` déclare une variable nommée `compteur` qui sera de type `Integer`. Elle est marquée comme `Static`, ce qui signifie qu’elle conserve sa valeur d’un appel à l’autre.
- Incrémentation : Chaque fois que vous appelez `CompteurAppels`, la variable `compteur` est incrémentée de 1.
- Persistance de la Valeur : L’avantage ici est que même après la fin de chaque appel de la procédure, la valeur actuelle de `compteur` est sauvegardée. La prochaine fois que vous appelez la procédure, la valeur de `compteur` ne repart pas à zéro.
La déclaration `Static` est particulièrement utile pour des variables qui doivent retenir des informations entre plusieurs exécutions de la même procédure, sans pour autant être disponibles pour d’autres procédures (comme une variable globale le serait). N’oubliez pas que trop de variables `Static` peuvent compliquer le débogage et la maintenance de votre code, il est donc judicieux de les utiliser avec parcimonie.