VBA : interactivité, variables et conditions
25 septembre 2007
Boîte de dialogue - message
Dans un programme l’utilisateur et le concepteur dialoguent par l’intermédiaire de différents canaux (visuels, sonores) à l’aide de messages interactifs ou non.
On a l’habitude d’utiliser ces boîtes de dialogue dans des logiciels connus : boîte de connexion réseau, Enregistrer, Imprimer etc.
Pour afficher un message non interactif on utilise la boîte de dialogue prédéfinie MsgBox.
Exemple :
MsgBox("Salut tout le monde !")
C’est un simple message affiché dans une boîte agrémentée d’un bouton OK.
En fait c’est plutôt une fonction dont la syntaxe est beaucoup plus complexe (voir l’aide en ligne de VB - menu ? à la droite de la barre des menus).
Notion de variable
Elles sont nécessaires pour stocker (conserver) une valeur dynamique et réutilisable.
C’est en fait une simple zone mémoire qui porte un nom choisi par le programmeur pour faciliter sa programmation. Le nom de la variable est une adresse mémoire.
Si l’on veut une programmation cohérente il faut les déclarer avec leur type.
Menu Outils - Options - onglet Environnement - choisir : "Requiert la déclaration des variables".
On peut aussi écrire la directive Option Explicit au début de la section des déclarations d’un module.
Syntaxe :
Dim As
Pour la lisibilité du code on peut les commenter après une apostrophe ( ‘ )
Exemples :
Dim Taux As Single ‘ Taux de la TVA
Dim Réponse As String ‘ Mot proposé par le joueur
Pour éviter tout problème il est préférable d’initialiser les variables déclarées.
Compteur = 0
Taux = 20,6
Le langage Basic utilise 7 types de données dont les plus utilisés sont le type String (chaîne de caractères), le type Integer (entier relatif) et le type Single (décimal).
Portée d’une variable
Si une variable est déclarée au début de la procédure qui la manipule (Dim ou Private) elle n’est alors valide que pour cette procédure. L’existence et la valeur de la variable disparaissent avec l’instruction End Sub.
Toute référence à cette variable en dehors de cette procédure provoquera une erreur de compilation.
Si une variable est déclarée dans la section des déclarations d’un module elle est valide dans toutes les procédures du module.
Une variable peut aussi être déclarée Public ou Global et sera alors valide pour toute l’application.
Exemple :
Global MotInitial As String ‘ premier mot à traiter
Entrée des données
Si l’utilisateur fournit une donnée il faut la stocker dans une variable pour pouvoir la réutiliser autant de fois qu’on le veut.
Le plus simple est d’utiliser la boîte de dialogue prédéfinie InputBox qui est aussi une fonction et qui retourne une valeur de type Variant. Cette fonction a pour effet d’affecter une valeur à une variable dûment déclarée.
Exemple :
Valeur = InputBox("Entrez votre donnée ?")
Alors la variable Valeur contient une donnée du même type que sa déclaration (String, Integer etc.) ou du type de la valeur entrée... (à éviter...)
NombreProposé = InputBox("Quelle est votre proposition ?")
Alors la variable NombreProposé contient un Integer si elle a été déclarée Integer.
Sa syntaxe complète est aussi assez délicate (voir l’aide en ligne de VB)
Structure conditionnelle
Les instructions à exécuter peuvent dépendre d’une condition. Il faut alors utiliser une structure décisionnelle qui oriente le déroulement du programme vers des blocs d’instructions déterminés. C’est la structure If ... Then ... Else ... End If - Sur une seule ligne :
If condition Then instruction1 [Else instruction2]
Condition est une expression dont la valeur est booléenne (True ou False).
Si cette expression est une valeur numérique, la valeur 0 (zéro) correspond à False et toute autre valeur correspond à True.
Exemple :
If Moyenne >= 10 Then Décision = "Admis" Else Décision = "Refusé" - Sous forme de bloc :
If condition Then
[instructions]
Else
[instructions]
End If
Exemple :
If Moyenne >= 10 Then
Admis = Admis + 1
MsgBox("Candidat admis")
Else
Ajournés = Ajournés + 1
MsgBox("Candidat ajourné")
End If
[ Imprimer
cet article ] [ Haut ]
|