Accueil           Recherche       Annuaire   

 Album   

Documents       Jeux     Chat     Blogs     Forum

Pratique
Formation-Orientation
Stage - Job
Vie étudiante
Sexualité - Psycho
Documents
Droit
Gestion
Finance
Economie
Econométrie
Commerce
Sciences sociales
Informatique
Détente
Test d'intelligence
Quiz
Humour
Jeux
Plus!
Traducteur
Annuaire inversé
Cartes & itinéraires
Service public
A propos
Charte du site
Récompenses
Nous recommander
Partenaires
Contact

 VBA : LES STRUCTURES CONDITIONNELLES

Support logiciels     Culture informatique    Programmation

 

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 :

    1. 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.Haut de page

Exemple : If MotDePasse <> "zizou" Then End 'assez brutal!

    1. 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 !Haut de page

 

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 …Haut de page

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èreHaut de page

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.

Haut de page    

Contact                                                    © Niant - Copyrightdepot.com                                          Site déclaré à la CNIL 

Positionnement et Statistiques Gratuites