3.2.7. Les instructions
Les instructions Visual Basic sont complètes. Elles
contiennent des mots clés, des opérateurs, des variables, des
constantes et des expressions. Chaque instruction appartient à l'une des
trois catégories suivantes : déclaration,
affectation, exécution.
La déclaration
Les instructions de déclaration nomment une variable,
une constante ou une procédure et peuvent également
spécifier un type de données (Const, Dim, Private, Public, New,
Static).
Private myVar As String
Ici on déclare une variable « privée »
de type « String » et de nom « myVar ».
L'affectation
Les instructions d'affectation attribuent une valeur ou une
expression à une variable ou à une constante (=, Let).
Title = "Zone d'accueil"
Les instructions exécutables
Ces instructions exécutent des lignes de codes
(structures alternatives, structures répétitives,
débranchements, appels de modules, ...).
Les structures alternatives
Comme dans la plupart des langages, les mots clés
correspondant à ces structures sont If, Then, Else, End
If.
Private answer As String
If answer = Empty
Then
MsgBox "Vous n'avez pas entré de nom"
Else
MsgBox "Votre nom est " & answer
End If
Les « If multilignes »
On utilise les mots clés « Else If
» autant de fois que nécessaire.
If answer = Empty
Then
MsgBox "Vous n'avez pas entré de nom"
Else If answer = "Toto"
MsgBox "Votre nom est Toto"
Else
MsgBox "Votre nom est Toto" & answer
End If
Le « case »
Select Case answer
Case "Toto"
Nom = "Toto"
Case "Titi"
Nom = "Titi"
Case Else
MsgBox "Nom incohérent"
End Select
Les structures répétitives
Visual Basic utilise les mots clés For, To
et Next pour les boucles « Pour »,
Do While et Loop pour la boucle « Tant
que » (il existe également While et
Wend), Do et Loop Until pour
la boucle « Jusqu'à ce que ». Quelques exemple d'utilisation
de ces boucles.
Private T(10) As
Integer
Private I As
Integer
For I=0 To 9
T[I] = I
Next
I = 0
Do While I < 10
T[I] = I
I = I + 1
Loop
I = 0
Do
T[I] = I
I = I + 1
Loop Until I = 10
Déclaration de l'indice de boucle I et
d'un tableau de 10 entiers T Il est impératif
d'initialiser I
Vérification des erreurs de syntaxe
Si une ligne s'affiche en rouge (avec un éventuel
message d'erreur) après sa saisie et la frappe de la touche
ENTRÉE, l'instruction correspondante comporte une erreur. Il convient de
l'identifier et la corriger.
Attention : Par défaut Visual
basic ne nous oblige pas à déclarer les variables, ce qui est une
source d'erreur importante. Afin de remédier à cet
inconvénient, il est fortement conseillé d'utiliser au
début de chaque module l'instruction « Option
Explicit » de façon à obliger VBA
à détecter les variables non déclarées.
Les instructions sur plusieurs lignes
Une instruction tient généralement sur une
ligne, mais il est possible de la continuer sur la ligne suivante à
l'aide du caractère de continuité de ligne « _ » (blanc
+ blanc souligné).
Dim myVar As String
myVar = "John"
MsgBox Prompt:="Bonjour" & myVar, _
Title:="Zone d'accueil", _
Buttons:=vbExclamation
3.2.8. Les modules
Ecriture d'une procédure
Une procédure est une série d'instructions
délimitée par les instructions Sub et
End Sub exécutant des actions mais ne renvoyant pas de
valeurs. Une procédure prend des arguments tels que des constantes, des
variables ou des expressions passées par un module appelant. Si une
procédure n'a pas d'argument, l'instruction Sub doit
comporter des parenthèses vides.
Sub GetInfo()
Dim answer As String
answer = InputBox("Quel est votre nom?")
If answer = Empty
Then
MsgBox "Vous n'avez pas entré de
nom."
Else
MsgBox "Votre nom est " &
answer
End If
End Sub
Ecriture d'une fonction
Une fonction est une série d'instructions
délimitée par les instructions Function
et End Function. Une fonction est
similaire à une procédure mais peut également renvoyer une
valeur. Une fonction peut prendre des arguments, tels que les constantes, les
variables ou les expressions qui lui sont passées par un module
appelant. Si une fonction n'a aucun argument, son instruction
Function doit comporter des parenthèses vides.
Une fonction renvoie une valeur en affectant une valeur à son nom dans
une ou plusieurs instructions de la procédure. Dans l'exemple suivant,
la fonction Celsius convertit des degrés Fahrenheit en degrés
Celsius.
Lorsque la fonction est appelée depuis la
procédure Main, une variable contenant la valeur de l'argument est
passée à la fonction. Le résultat du calcul est
renvoyé à la procédure appelante et affiché dans un
message.
Function Celsius(fDegrees As
Integer) As Decimal
Celsius = (fDegrees - 32) * 5 / 9
End Function
Sub Main()
temp = InputBox("Veuillez entrer la température en
degrés F.")
MsgBox "La température équivaut à " &
Celsius(temp) & " degrés C."
End Sub
|