Nous sommes toujours dans le code, mais nous passons à un autre élément fondamental : la variable. Rappelez-vous : si vous comprenez comment ça marche, c'est déjà très bien. Si vous ne voyez pas à quoi ça sert, ce n'est pas grave : l'essentiel est d'avoir retenu.
Les variables, c'est un peu le B-A-BA de la programmation. Quel que soit le langage, c'est la base de tout. Avec VB, vous n'y échapperez donc pas. C'est un peu déroutant au début, et pourtant c'est très utile vous verrez.
Bon je tourne autour du pot là ;o) Je ne vous ai toujours pas dit ce que c'était... Accrochez-vous sur cette définition :
Une variable est une petite information stockée temporairement en mémoire. Elle a un nom, et une valeur (comme pour une propriété en somme). Sauf que c'est vous qui créez les variables, qui modifiez leur valeur, et qui en définissez l'utilité.
A quoi vont-elles pouvoir servir alors ? Eh bien, vous verrez qu'en programmant vous aurez besoin d'enregistrer des informations, mais de manière temporaire. Ces informations sont stockées dans la mémoire vive de l'ordinateur (voir schéma plus bas).
Vous allez donc créer ces variables, les modifier à souhait, mais aussi les détruire lorsqu'elle n'ont plus d'utilité, afin de ne pas encombrer votre mémoire.
Ca en jette hein ? ;-p Ca fait pro de dire ça, mais vous allez voir qu'il n'y a absolument rien de sorcier là-dedans.
Ce qu'il faut bien comprendre, c'est qu'en mémoire, sur votre ordinateur, sont stockés les programmes qui sont en cours d'exécution. Si vous ne les avez pas démarrés ils ne sont pas chargés en mémoire.
Le schéma ci-dessous vous montre que chaque variable possède un nom et une valeur :
Voilà un nouveau terme à ajouter à votre vocabulaire : la déclaration d'une variable. C'est tout simplement la création en mémoire d'une variable.
Déclarer une variable n'est pas bien difficile, quoique vous verrez plus tard qu'on peut toujours compliquer ça ;-). On peut déclarer une variable à différents endroits de votre code. En général, on les déclare au tout début du code (en dehors des procédures), mais on peut aussi les déclarer à l'intérieur des procédures.
Voilà un exemple de déclaration de variable, à l'extérieur d'une procédure (au début du code, donc) :
Public MaVariable As Integer
Nous avons ici 4 mots, nous allons les étudier un par un.
Tout d'abord, Public est un mot-clé qui indique la portée de cette variable. Vous ne savez pas ce que c'est, et je ne peux pas encore vous l'expliquer. Vous voyez dans quel embarras je suis, et comment il est difficile d'enseigner le Basic sans poser des vérités : acceptez les faits tels qu'ils sont, vous les comprendrez plus tard. Mettez donc pour l'instant Public pour déclarer une variable à l'extérieur d'une procédure.
Si vous déclarez à l'intérieur d'une procédure, il faut remplacer "Public" par le mot-clé "Dim". Rien ne change, à part la portée comme nous le verrons...
Ensuite, "MaVariable" est le nom que vous souhaitez donner à votre variable. Vous pouvez mettre ce que vous voulez, de préférence quelque chose de compréhensible. Votre code ne sera que plus clair si vos noms de variables sont bien choisis.
Privilégiez les noms longs mais clairs (par exemple : NomDuJoueur), plutôt que les noms courts ayant un sens ambigü (du style NomPlay, ou Temp1...).
Pour les noms, les caractères accentués comme éàëûù sont interdits, ainsi que les espaces. Utilisez le trait de soulignement _ en remplacement des espaces.
"As" est un mot-clé, qui signifie "Est" en anglais. Ce mot ne change pas, vous le mettrez tout le temps. Il fait la liaison entre le nom de la variable et son type (voir ci-dessous).
Integer est un type de variable. Ce mot peut changer, car il existe plusieurs types de variable. Nous allons maintenant voir ce que sont les types de variable et quels sont-ils.
Un type de variable indique la nature de la variable. Toutes les variables ne fonctionnent pas de la même manière. En effet, on peut y stocker différents types de données. Ainsi, il existe des variables qui enregistrent des nombres entiers, décimaux, plus ou moins grands... mais aussi des chaînes de caractères, des valeurs booléennes etc etc...
Je vous propose d'en dresser la liste des plus utilisés. Par ordre alphabétique :
Boolean : le type de données booléen. C'est un mot français, quoique peu courant. Cette variable peut en fait prendre seulement 2 valeurs, True ou False (Vrai ou Faux). Une telle variable enregistre donc si quelque chose est vrai ou faux. C'est très pratique, vous verrez, d'autant plus que cela ne prend qu'un octet en mémoire. Exemple :
Public Travaille As Boolean
Byte : ce type de données permet de stocker un nombre entier compris entre 0 et 255. C'est un peu limité, certes, mais ça ne prend qu'un octet en mémoire.
Public NombreDeVilles As Byte
Currency : ce type de données est fait pour contenir des valeurs monétaires avec 4 décimales et jusqu'à 15 positions entières. Cela fait un nombre situé entre -922 337 203 685 477,5808 et 922 337 203 685 477,5807. C'est un type de données très rarement utilisé.
Public Fric As Currency
Date : stocke soit une date comprise entre le 1er Janvier 100 et le 31 Décembre 9999, soit une heure entre 0:00:00 et 23:59:59.
Public Jour As Date
Public Heure As Date
Double : un grand nombre décimal. Très grand nombre. N'importe quel nombre entre -1,79769313486232E308 et -4,94065645841247E-324 pour les nombres négatifs et entre 4,94065645841247E-324 et 1,79769313486232E308 pour les positifs (le E est une puissance de 10). Bref, vous avez l'embarras du choix, mais ça prend de la place en mémoire aussi : 8 octets (ne riez pas, parce que si vous avez 1000 variables de 8 octets, ça fait beaucoup !).
Public GrandNombre As Double
Integer : ce type de données est très utilisé. Il stocke un valeur ENTIERE comprise entre -32768 et 32767.
Retenez bien ceci : un Integer stocke une valeur ENTIERE. Ne faites pas d'erreur en essayant d'affecter un nombre décimal à une telle variable. Je tenais à vous prévenir, car c'est une erreur que vous risquez de faire plusieurs fois...
Public Nombre As Integer
Long : encore un nombre entier, cette fois la plage est comprise entre -2 147 483 648 et 2 147 483 647.
Public NombreLong As Long
String : très utilisé, stocke une chaîne de caractères alphanumériques (exemple : "J'ai trouvé un billet de 500 euros par terre !").
Public PhraseADire As String
Variant : c'est le type de données prenant le plus de place en mémoire. Il a l'avantage de pouvoir tout traiter : des booléens, byte, integer, long, double, string... Evitez de l'utiliser, la majorité des programmeurs préfèrent s'en passer à cause de la place qu'il prend en mémoire.
Public NimporteQuoi As Variant
Ouf ! Voilà. Il existe d'autres types de variable, quoique un peu spéciaux. Nous ne les verrons que beaucoup plus tard. Pour l'instant, entraînez-vous dans le code de votre feuille à déclarer des variables de différents types.
Vous remarquerez qu'après avoir tapé As et un espace, VB affiche une liste assez impressionnante de possibilités : ce sont tous les types de données disponibles. Vous devriez voir quelque chose comme ça :
L'icône qui apparaît à gauche indiquerait, en fait, le type du type de variable (atchoum). Celle que vous voyez pour Boolean, Byte, et tous les types que nous avons décrits, est la plus importante. Vous n'aurez besoin des autres types que dans les chapitres les plus avancés (et les plus difficiles) de ce cours.
Bien. Un peu de pratique maintenant. Vous allez vous entraîner à déclarer des variables sous VB. C'est tout bête.
Déclarez une variable appelée Entrainement de type String. Cliquez sur le bouton pour avoir la réponse.
Déclarez une variable permettant d'enregistrer une heure, de nom RDV.
Le type Byte permet-il de stocker un nombre décimal ?
Quelles valeurs peut stocker un Boolean ?
Enfin, quel est le nom du type de données qui peut stocker n'importe quelle valeur ?
Voilààà ! On n'en a pas fini avec les variables. J'espère que les exos de la fin vous auront permis de bien vérifier vos acquis, parce que dans le chapitre suivant vous devrez savoir déclarer une variable les yeux fermés ;o)