Accueil | Ce site | CV | Excel | Livre d’or | Macros XL4 | Modèles | VBA

 Les variables

Définition

Selon l’aide d’Excel 97/98, une variable est “un emplacement de stockage nommé contenant des données pouvant être modifiées au cours de l’exécution du programme. Chaque variable possède un nom qui l’identifie de manière univoque au sein de sa portée. Un type de données peut être indiqué.

Ces 3 phrases introduisent de nombreux concepts :

Option explicit

Parmi les préférences de VBA, il existe un paramètre “Déclaration explicite des variables” (figure 1), qui représente une contrainte.


Fig. 1 - On accède à la “déclaration explicite des variables”
par l’onglet "Éditeur" des préférences de VBA.

Tout module créé alors que l’option “Déclaration explicite des variables” a été choisie, commence par une ligne de code :

Option Explicit

Dans le cas contraire, les nouveaux modules sont vides.

La déclaration explicite représente une contrainte. Tant qu'elle est en vigueur, il est obligatoire de définir préalablement toute variable, sous peine d’une erreur à la compilation (figure 2).


Fig. 2 - Le message qui s’affiche si on a omis de déclarer une variable
alors que l’option “déclaration explicite…” a été retenue.

Toutefois, cette définition préalable, couplée à l’habitude de préciser pour chaque variable de préciser le type de donnée, améliore les performances (moindre consommation de mémoire) et permet de faciliter la détection de certaines erreurs.

Par exemple, si une variable a été définie comme Integer (nombre entier compris entre -32768 et 32767), et que lors des tests, un message d’erreur “Type incompatible” (figure 3) survient, cela signifie que l’on a tenté de réaliser une opération incompatible avec le type Integer, ou que dans une zone de dialogue (objet UserForm) ou une InputBox, l’utilisateur a fourni une valeur aberrante et que le contrôle de l’information fournie a été insuffisant.


Fig. 3 - Message d’erreur affiché lorsque une variable ou une propriété
n’est pas du type attendu, et qu’une conversion n’est pas possible

Un éventuel message d’erreur de ce type est positif, car il révèle une faiblesse dans l’analyse, une erreur de programmation ou un contrôle insuffisant de l’information fournie par l’utilisateur. Si un type de donnée n’avait pas été associé à la variable provoquant le message, ce que Option Explicit incite à faire, cette faiblesse n’aurait pas nécessairement décelée lors de la phase de test.