.       .   

 .   

   . Accueil          .

 Connexion   

 S'inscrire   

 FAQ   

 Recherche    Documents  

 Annuaire   

Photos     Détente      Banque     Chat         Forum        . .                  .    .




 

VBA : les structures conditionnelles

25 septembre 2007

-  Nécessité de ces structures

Le programmeur est très souvent amené à tester des valeurs et à orienter le programme selon ces valeurs.

L’utilisateur est parfois invité à faire des choix que le programme doit prendre en compte.

Plusieurs structures décisionnelles permettent ces traitements.

Il s’agit d’utiliser la structure la plus adaptée au problème à résoudre.

Exemples :

Traitement d’un mot de passe. Essai de la part d’un joueur. Comptage des bonnes réponses. Choix d’un niveau de jeu.

-  Structure If ... Then ... Else ...

Cette structure décisionnelle revêt 2 formes :

  • Sur une seule ligne : Syntaxe : 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 MotDePasse <> "zizou" Then End ’assez brutal !

  • Sous forme de bloc : Syntaxe : If condition Then

[instructions]

Else

[instructions]

End If

Exemple :

If NombreProposé > NombreATrouver Then

MsgBox("Votre nombre est trop grand !")

Essai = Essai + 1

Else

MsgBox("Votre nombre est trop petit !")

Essai = Essai + 1

End If

Essayez de trouver ce qui manque dans ce test !

-  Insuffisance de cette structure

Cette structure n’est vraiment valable que pour une alternative (2 possibilités).

Pour traiter 3 possibilités il faudra imbriquer un autre If après l’instruction Else.

Exemple :

If NombreProposé > NombreATrouver Then

MsgBox("Votre nombre est trop grand !")

Else

If NombreProposé < NombreATrouver Then

MsgBox("Votre nombre est trop petit !")

Else

MsgBox("Gagné !")

End If

End If

Essayez de trouver ce qui manque cette fois !

Au-delà de 3 possibilités on a besoin d’une autre structure qui peut gérer plusieurs cas.

-  Structure Select ... Case ...

C’est une extension du If ... Then ... Else ... Elle permet une programmation plus claire en évitant une trop grande imbrication de If successifs.

Syntaxe :

Select Case Expression

Case ListeValeurs1

[Instructions]

Case ListeValeurs2

[Instructions]

[Case Else

Instructions]

End Select

ListeValeurs peut être :

-  une suite de valeurs : 1, 3, 5, 7, 9

-  une fourchette : 0 To 9

-  une plage : Is >= 10

Une seule Expression (ou une simple variable) est testée au début puis est comparée avec les listes de valeurs.

A la première concordance les instructions correspondantes sont exécutées puis le programme sort de la structure.

Si aucune concordance n’est trouvée les instructions placées après le Else sont exécutées.

Exemple :

Select Case CodeASCIICaractère

Case 65, 69, 73, 79, 85

MsgBox(" C’est une voyelle ")

Case 66 To 90

MsgBox(" C’est une consonne ")

Case Else

MsgBox(" Ce n’est pas une lettre ")

End Select

Essayez de trouver ce qui ne va pas dans ce test !

-  Structure Iif

C’est exactement la fonction IF d’EXCEL.

Syntaxe : IIf (Condition, ValeurSiVrai, ValeurSiFaux)

Exemple :

Dim Note As Single

Dim Réponse As String

Note = InputBox (" Tapez votre note ")

Réponse = IIf (Note >= 10, " Admis ", " Ajourné ")

MsgBox (Réponse)

Il existe d’autres outils décisionnels (Switch, With, Choose ...) qui ne sont pas nécessaires pour un module de niveau 1.


[ Imprimer cet article ] [ Haut ]

 
 
 
Commentez cet article



   
 

 
   

 
  Envoyer à un ami
Destinataire  :
(entrez l'email du destinataire)

De la part de 
(entrez votre nom)

(entrez votre email)



[ Imprimer cet article ]

Rechercher :
 

 
Autres articles

VBA : analyse et programmation
VBA : traitements des chaines de caractères
VBA - compléments et programmation
VBA : les structures de contrôle
VBA : interactivité, variables et conditions
VBA : tablaux et boucles
Excel : quelques fonctions avancées
Informatique : Les astuces de base
Excel : utilisation et astuces
Programmation VBA - introduction
Macros SAS
Initiation au logiciel SAS
Création de site Internet avec Dreamweaver
Créer votre site Internet avec FrontPage
Initiation aux réseaux
Les bases du réseau Internet
Les virus informatiques


[ Haut ]
 

 

   Contact                                                    © Niant - Copyrightdepot.com                                          CNIL 

Positionnement et Statistiques Gratuites

SPIP , bloOg