Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Ce cours existe en eBook.

J'ai tout compris !
Apprenez à programmer en VB .NET

Apprenez à programmer en VB .NET

Mis à jour le lundi 24 juin 2013
  • 4 semaines
  • Facile

Comme son nom l'indique, une variable… varie. On peut y stocker pratiquement tout ce qu'on veut, comme par exemple des nombres, des phrases, des tableaux, etc. C'est pour cette raison que les variables sont omniprésentes dans les programmes. Prenons comme exemple votre navigateur web préféré : il stocke plein d'informations dans des variables, telles que l'adresse de la page, le mot de passe qu'il vous affiche automatiquement lorsque vous surfez sur votre site favori, etc.

Vous devez donc bien comprendre que ces variables vous serviront partout et dans tous vos programmes : pour garder en mémoire le choix que l'utilisateur a fait dans un menu, le texte qu'il a tapé il y a trente secondes… Les possibilités sont infinies.

Les types

Les variables se déclinent sous différents types : il y a par exemple un type spécifique pour stocker des nombres, un autre pour stocker du texte, etc.
D'ailleurs, si vous tentez d'enregistrer du texte dans une variable créée pour contenir un nombre, l'ordinateur va vous afficher une petite erreur. ;)

Au tableau suivant, vous trouverez un récapitulatif des types que nous allons utiliser.

Nom

Explication

Boolean

Ce type n'accepte que deux valeurs : vrai ou faux. Il ne sert à rien, me direz-vous ! détrompez-vous. :)

Integer

Type de variable spécifique au stockage de nombres entiers (existe sous trois déclinaisons ayant chacune une quantité de « place » différente des autres).

Double

Stocke des nombres à virgule.

String

Conçu pour stocker des textes ou des mots. Peut aussi contenir des nombres.

Date

Stocke une date et son heure sous la forme « 12/06/2009 11:10:20 ».

Il existe de nombreux autres types, mais ils ne vous seront pas utiles pour le moment.

J'ai précisé que le type Integer (abrégé Int) existait sous trois déclinaisons : Int16, Int32 et Int64. Le nombre après le mot Int désigne la place qu'il prendra en mémoire : plus il est grand (16, 32, 64), plus votre variable prendra de la place, mais plus le nombre que vous pourrez y stocker sera grand. Pour ne pas nous compliquer la vie, nous utiliserons le Integer (Int) tout simple.
Si vous voulez en savoir plus sur l'espace mémoire utilisé par les variables, vous pouvez vous renseigner sur les « bits ». ;)

Pour ce qui est du texte, on a de la place : il n'y a pas de limite apparente. Vous pouvez donc y stocker sans souci un discours entier. Si le booléen, ce petit dernier, ne vous inspire pas et ne vous semble pas utile, vous allez apprendre à le découvrir. :p

Les utiliser - la théorie

Comment allons-nous utiliser les variables ?

Telle est la question à laquelle nous allons répondre.

Que vous reste-t-il de vos cours de maths de 3e (sujet sensible :-° ) ?

Bon… si j'écris ceci : $$x^3 + 5x^2 - 3x + 1 = 0$$, qu'est-ce qui se produit ?

  1. Mon doigt se précipite pour éteindre l'écran.

  2. Je ferme immédiatement le navigateur web.

  3. Je prends une feuille de papier et résous cette équation. :waw:

Excusez-moi de vous avoir attaqués par derrière comme je l'ai fait, mais c'était dans le but de vous faire observer que l'attribution des variables est en de nombreux points similaire à notre vieil ami x en maths. :zorro:
Comme pour attribuer une valeur à une variable, on place un « = » entre deux éléments.

Le sens

Ce n'est pas difficile : en VB, et même dans tous les langages de programmation, ce qui se situe à gauche du « = » correspond à l'opération qui se trouve à droite. C'est ainsi, cela ne changera pas ! :p

Regardez la figure suivante.

Affectations de valeurs à des variables
Affectations de valeurs à des variables
  1. On entre le chiffre 3 dans la variable appelée X, pas de problème ;

  2. Ensuite, on souhaite mettre X dans 3 ! Aïe, cela ne va pas fonctionner ! Si vous écrivez quelque chose de ce genre, une erreur va se produire : comme si vous disiez « 3 = 2 », le compilateur va vous regarder avec des yeux grands comme ça et se demandera ce qu'il doit faire !

  3. Ensuite, on met la variable Y dans la variable X ;

  4. Et enfin, X dans Y.

Pas de problème pour le reste.
Je ne sais pas si vous l'avez remarqué, mais j'ai mis une variable dans une autre : c'est tout à fait possible, aucun problème à ce niveau-là. Par contre, l'affectation d'une valeur à une variable écrase l'ancienne valeur, comme schématisé à la figure suivante.

Attention, une valeur peut en écraser une autre
Attention, une valeur peut en écraser une autre

Revoilà donc mes boîtes. J'explique le schéma : vous ordonnez à votre programme « mets 3 dans X », ce qu'il va faire. Ensuite, vous lui dites « mets 5 dans X », mais il va oublier le 3 et écrire 5. :honte:

Attention, donc !

Mais en contrepartie, les variables offrent un stockage « nettoyable » à volonté. :p Je m'explique : vous pouvez les lire et y écrire autant de fois que vous le souhaitez. Lorsque vous lisez la valeur d'une variable, son contenu reste à l'intérieur (évident, me diront certains, mais sachez qu'il y a quelques dizaines d'années les valeurs stockées dans la mémoire RAM s'effaçaient lors de leur lecture ; à l'époque, c'était des « tores » qui stockaient les bits et, lors de leur lecture, l'énergie se dissipait et faisait disparaître l'information).

Si vous avez bien compris, je pourrais écrire ceci (j'en profite pour vous montrer comment on initialise une variable, mais j'y reviendrai juste après) :

Dim MaVariable As Integer
MaVariable = 5
MaVariable = 8
MaVariable = 15
MaVariable = 2
MaVariable = 88
MaVariable = 23

Que vaudra MaVariable à la fin de ces instructions ? 23 !

Les utiliser - la pratique

Cette petite partie de lecture vous a ennuyés ? On va remédier à ce malaise ! Nous allons mettre en œuvre tout ce que je vous ai expliqué.

Tout d'abord, en VB, il faut déclarer une variable avant de l'utiliser. Autrement, l'ordinateur ne saura pas de quel type est la variable et ne saura donc pas comment réagir.

Nouvelle variable

Voici l'instruction servant à déclarer une variable, par exemple de type Integer :

Dim MaVariable As Integer

Pourquoi y a-t-il un terme appelé « MaVariable » ? Je pensais que le Visual Basic était conçu en anglais.

Effectivement, les mots que vous allez utiliser et qui serviront d'instructions dans vos programmes, comme par exemple Write, If, Then, etc., sont en anglais ; mais si l'on décortique la ligne que je viens de vous montrer, on obtient ceci :

Code VB

Dim

MaVariable

As

Integer

Français

Crée une variable

de nom « MaVariable »

en tant que

entier

En somme, le mot « MaVariable » est le nom attribué à la variable. C'est vous qui le choisissez !

Bon, excusez-moi… j'avais dit qu'on allait pratiquer. Eh bien, on y va ! :pirate:
Retournez sur votre projet, qui doit encore être ouvert (du moins, je l'espère…). Si vous ne l'avez pas conservé, recréez-le (désolé :-° ).

Nous revoici donc avec nos lignes :

Module Module1
    Sub Main()
        Console.Write("Salut")
        Console.Read()
    End Sub
End Module

J'ai retiré notre essai sur la fonction BEEP, car je pense que vous ne souhaitez pas entendre votre ordinateur biper à chaque test. :)

MaVariable doit être égale à 5 !

Nous allons donc déclarer une variable et lui assigner une valeur. Je vous ai expliqué comment déclarer une variable.
Je vous ai aussi rapidement expliqué comment attribuer une valeur à une variable. Essayez donc de créer une variable de type Integer appelée « MaVariable » et d'y entrer la valeur « 5 ».

Dim MaVariable As Integer
MaVariable = 5

Maintenant, où placer ces instructions ?

C'est la question fatidique ! Si vous vous rappelez le schéma sur l'ordre d'exécution des lignes dans un programme, vous devriez vous rappeler qu'une fois entrés dans un Sub ou une fonction, sauf indications contraires (que nous étudierons dans un prochain chapitre), nous allons de haut en bas.

De ce fait, si vous avez besoin de votre variable à la ligne 4 de votre programme, il vous faut l'initialiser avant.
Même chose pour lui assigner une valeur : si vous l'affectez seulement à la ligne 6, la ligne 4 ne pourra pas lire ce résultat.

Dernière chose : je parie que vous souhaitez faire quelque chose de cette variable, ne serait-ce que l'afficher ?
J'ai expliqué comment afficher un texte avec le Console.Write. Pensez-vous être capables de faire en sorte d'afficher la valeur de la variable dans la console ?

Module Module1
    Sub Main()
        Dim MaVariable As Integer
        MaVariable = 5
        Console.Write(MaVariable)
        Console.Read()
    End Sub
End Module

Voici le résultat :

5

Voilà, vous pouvez tester : ce code affiche « 5 » dans la console.

Hop, hop, hop ! Pourquoi as-tu enlevé les doubles quotes (« " " ») qui se trouvaient dans le Write ?

C'était le piège (sauf si vous avez bien lu précédemment) ! ^^

Si vous conservez les doubles quotes, la fonction Write affichera en dur le mot « MaVariable », et non sa valeur. Il faut donc enlever les doubles quotes pour que la fonction utilise le contenu de la variable MaVariable.

Vous êtes désormais capables de déclarer des variables et de leur affecter des valeurs. Vous en apprendrez plus durant l'exploration d'autres sujets. Rien de tel que de pratiquer pour s'améliorer. ^^

Dernière chose : il faut toujours essayer d'assigner une valeur à une variable dès le début ! Sinon, la variable n'est égale à rien, et des erreurs peuvent survenir dans certains cas. Donc, systématiquement : une déclaration, une assignation. :magicien:

  • Une variable peut contenir une valeur.

  • Les variables et donc les valeurs qu'elles contiennent peuvent être de différents types.

  • Des guillements : « " " » délimitent une variable de type chaîne de caractères.

  • Le type String contient les chaînes de caractères, Integer les entiers, Double les nombres à virgule, et Date les dates et heures.

Exemple de certificat de réussite
Exemple de certificat de réussite