Les variables sont des données ou des valeurs qui peuvent changer à l'intérieur
d'une application.
C'est pourquoi, il est fort utile de les nommer par un nom, de déclarer quel genre
de variables est-ce (nombre entier, nombre décimal, lettres...) et leur affecter,
lorsque cela est nécessaire une valeur.
La longueur maximale du nom d'une variable est de 255 caractères. Ceux-ci peuvent
être des chiffres, des lettres ou autres symboles. Notez que ce nom doit
obligatoirement commencer par une lettre.
En effet, Visual basic classe les variables en fonction de la valeur affectée à la
variable. Ainsi, une variable déclarée comme du type numérique ne peut pas
recevoir une valeur chaîne de caractère, ainsi qu'à l'inverse.
Notez que si vous ne déclarez pas une variable, Visual Basic se chargera
d'affecter par défaut un type de variable (Variant) à celle-ci.
Une variable du type Variant peut aussi bien recevoir des données numériques que
des chaînes de caractères. tout dépend de ce que vous avez affecté à cette variable.
A présent, observons de plus près les différents types de variables :
Type de données |
Mot clé |
Occupe |
Limite de valeurs |
Octet |
Byte |
1 octet |
0 à 255 |
Logique |
Boolean |
2 octets |
True(-1) ou False(0) |
Entier |
Integer |
2 octets |
-32 768 à 32767 |
Entier long |
Long |
4 octets |
-2 147 483 648 à 2 147 483 647 |
Décimal simple |
Single |
4 octets |
Nombre réel avec 7 chiffres après la virgule |
Décimal double |
Double |
8 octets |
Nombre réel avec 15 chiffres après la virgule |
Monétaire |
Currency |
8 octets |
Nombre réel avec 15 chiffres avant la virgule et 4 chiffres après la virgule |
Date |
Date |
8 octets |
1er janvier 100 au 31 décembre 9999 |
Objet |
Object |
4 octets |
Toute référence à des types Object |
Chaîne de caractères |
String |
10 octets + longueur de chaîne |
Chaîne de caractère dont la longueur ne doit pas excéder 2^31 caractères |
Variant (avec chiffres) |
Variant |
16 octets |
toute valeur numérique jusqu'à l'étendue d'un double |
Variant (avec lettres) |
Variant |
22 octets+longueur de chaîne |
Même étendue que pour un String de longueur variable |
Défini par l'utilisateur |
Type |
- |
L'étendue de chaque élément est la même que son type de données |
Notez que les types de variables les plus utilisées sont : String, Integer, Long, Single, Double et Currency.
Pour utiliser des variables, il est normalement obligatoire de les prédéfinir, soit
dans la
section Déclarations de la liste déroulante Objet, soit en début de
procédure ou de fonction.
Un programme où les variables sont bien déclarées rend un programme plus facile à
comprendre, à lire et surtout à corriger en cas d'erreurs.
Certes, il n'est pas obligatoire de les déclarer mais faites-le quand même, c'est
un conseil.
Si vous êtes prêt à déclarer une variable que vous voulez utilisez mais que vous
êtes un étourdi, alors, utilisez simplement l'instruction
Option Explicit
(à placer dans la section Déclarations de la liste déroulante Objet) qui vous
oblige à chaque fois à déclarer toutes vos variables avant de pouvoir exécuter
l'application.
3.1 Déclaration explicite d'une variable
Pour déclarer une variable, on utilise l'instruction
Dim suivi du nom de la
variable puis du type de la variable. Reprenons l'exemple du cours 2 :
Dim DateNaissance
Dim Message, Titre As String
- Remarquez que la 1ère déclaration ne contient pas d'information sur le
type de variable. Si vous déclarez une variable sans donner d'information
sur le type de variable que c'est, alors, cette variable (DateNaissance) aura par défaut
une variable du type Variant. Si vous avez bien lu l'exemple précédent,
vous aurez compris qu'il s'agit ici d'une variable de type Variant
(avec chiffres) qui lui est affectée par défaut.
- La 2ème déclaration est par contre explicite. Vous pouvez aussi mettre
2 variables sur une même ligne à condition que le type de variable est le
même pour les 2 et en les séparant par une virgule.
3.2 Déclaration implicite d'une variable
Il existe une autre méthode de déclarer des variables. Pour cela, il suffit d'ajouter
juste avant la variable, un symbole spécifique.
Voici la liste des symboles avec le type de variable auxquelles il se rapportent :
Symbole |
Type de variable |
% |
Integer |
& |
Long |
! |
Single |
# |
Double |
@ |
Currency |
$ |
String |
Dans l'exemple ci-après, les deux premières instructions sont équivalentes à la troisième :
En général, toute variable déclarée a une portée limitée.
Cette même variable a une valeur nulle au départ.
De plus, elle ne s'applique pas forcément à toutes les procédures d'une application.
Tout dépend de 2 éléments : la manière de déclarer et
l'emplacement de la variable.
- dans une procédure, si vous déclarez une variable à l'aide de l'instruction
Dim, sa portée se trouve limitée seulement à cette
procédure. On dit que la variable est locale. Elle
est donc initialisée à chaque appel de la procédure et détruite lorsque
celle-ci se termine ( à moins que vous remplacez le mot Dim
par Static).
Elle n'est pas accessible en dehors de la procédure. Vous pouvez remplacer
l'instruction Dim par Private, les
deux termes étant équivalentes s'ils sont placés à l'intérieur d'une
procédure.
- Si vous déclarez une variable dans la section Général/Déclarations d'une feuille
ou d'un module en utilisant l'instruction Dim (ou Private),
la variable est dite locale au module. Cette variable est disponible pour
toutes les procédures de la feuille ou du module, mais pas pour les autres
feuilles du projet.
- Enfin, si vous déclarez une variable dans la section Général/Déclarations
d'un module (et non d'une feuille) en utilisant l'instruction
Public au lieu de Dim, elle
devient accessible par toutes les feuilles et tous les modules de
l'application. On dit qu'elle est globale.
Contrairement aux variables dont les valeurs diffèrent souvent, les constantes
ont des valeurs fixes. Mais tout comme les variables, on affecte aux constantes,
un nom et une valeur qui est elle, fixe. De plus, les constantes se définissent
de la même façon que les variables. Tout dépend donc de l'endroit où est
défini la constante. Le mot Const peut être précédé de
l'option Public pour que toutes les feuilles et modules de
l'application puissent y accéder.
Attention cependant à ne pas affecter à une constante des noms identiques aux
constantes prédéfinies (VbSystemModal, VbOkOnly, VbArrow...) dans Visual Basic !
Prenons l'exemple du taux de TVA :
Const TVA = 20.6
TotalTTC=PrixHorsTaxe x (1 + (TVA / 100))