Créer une variable en VBA excel

-2

Les variables permettent de stocker des valeurs dans la mémoire dans une macro excel. Comment déclarer une variable dans une macro, et j'aimerais aussi savoir quels sont les différents types de variables qu'on peut créer, et à quoi servent-il.

Comment créer une variable globale pour qu'elle soit accessible de partout d'une fonction à l'autre ? Je sais que ça n'est pas propre et qu'il vaut mieux utiliser d'autres solutions comme les variables de classe mais ça reste plus simple à faire en utilisant une variable globale partagée.

Merci

Posté le 12 juillet 2013, 21:46
par toube
Répondre
5

On créé une variable en utilisant la syntaxe visual basic : Dim suivi du nom de la variable, puis as et enfin le type de la variable. Voici un exemple qui déclare une variable nommée ma_variable de type nombre entier :

Dim ma_variable as Integer

Le scope de la variable (c'est à dire le fait qu'elle soit globale ou locale) dépend uniquement de l'endroit où elle est déclarée. Si elle est déclarée à l'intérieur d'une classe ou d'une fonction (Sub) ou tout autre membre, elle a une portée locale. Ça signifie que la variable n'existe que dans la fonction, elle est détruite quand la fonction se termine en retournant un résultat.

Pour rendre une variable globale, il faut soit la déclarer en dehors d'une fonction (directement à la racine de la macro), soit la passer en paramètres par référence avec le mot clé ByRef.

Voici les différents types de variable VBA :

  • Integer : nombre entier
  • Boolean : nombre booléen true/false (vrai/faux)
  • Long : gros nombre entier, permettant d'aller de -2 à +2 milliards
  • Currency : unité de devise monétaire internationale
  • Single : nombre flottant sur 32 bit
  • Double : nombre décimal à virgule flottante sur 64 bit
  • Date : stocke une date (timestamp)
  • String : chaîne de caractères
  • Object : type composite pouvant contenir des types primitifs atomiques comme ceux cités ci-dessus
  • Variant : type spécial et hybride pouvant contenir des chaines, des dates ou des nombres
  • Byte : permets de stocker un octet en mémoire
Posté le 12 juillet 2013, 21:56
par bako

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :