Accueil | Ce site | CV | Excel | Livre dor | Macros XL4 | Modèles | VBA
Selon laide dExcel 97/98, une variable est un emplacement de stockage nommé contenant des données pouvant être modifiées au cours de lexécution du programme. Chaque variable possède un nom qui lidentifie 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 :
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 longlet "Éditeur" des préférences de VBA.
Tout module créé alors que loption 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 dune erreur à la compilation (figure 2).

Fig. 2 - Le message qui saffiche si on a omis de déclarer une variable
alors que loption déclaration explicite
a été retenue.
Toutefois, cette définition préalable, couplée à lhabitude 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 derreur Type incompatible (figure 3) survient, cela signifie que lon 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, lutilisateur a fourni une valeur aberrante et que le contrôle de linformation fournie a été insuffisant.

Fig. 3 - Message derreur affiché lorsque une variable ou une propriété
nest pas du type attendu, et quune conversion nest pas possible
Un éventuel message derreur de ce type est positif, car il révèle une faiblesse dans lanalyse, une erreur de programmation ou un contrôle insuffisant de linformation fournie par lutilisateur. Si un type de donnée navait pas été associé à la variable provoquant le message, ce que Option Explicit incite à faire, cette faiblesse naurait pas nécessairement décelée lors de la phase de test.