Programmation VBA pour Excel
Accueil
Sommaire du cours
Sommaire des exercices
Résumé du cours
Forum
Travaux
TICE
AgroParisTech
About
©AgroParisTech
Chapitre 5 - Prendre en compte des conditions
Fréquemment dans un programme on souhaite que certaines tâches (instructions) soient réalisées dans certains cas et pas dans d’autres. Ceci se traduit en VBA par l’intermédiaire des mots clés If... Then ..., ElseIf... Then... et Else....
Syntaxe :

If condition Then

Instructions_si_vrai

[Else

Instructions_si_faux]

End If

Dans une structure de bloc If, il faut impérativement aller à la ligne après le Then.
Lorsque le bloc If contient une ou plusieurs sections ElseIf, les différentes conditions sont testées jusqu’à ce qu’une soit vérifiée. Si aucune condition ne renvoie True, les instructions de la section Else, si elle existe, sont exécutées. Si aucune condition n’est vérifiée et si la section Else n’existe pas, le bloc If ne fait rien.
Syntaxe :

If condition_1 Then

Instructions_1

ElseIf condition_2 Then

Instructions_2

ElseIf condition_3 Then

Instructions_3

...

Else

Instructions_n

End If

VBA offre la possibilité d’utiliser les opérateurs logiques suivants :
  • condition1 Or condition2 : renvoie True si l'une des deux conditions au moins est vérifiée ;
  • condition 1 Xor condition2 : renvoie True si une et une seule des deux conditions est vérifiée ;
  • condition 1 And condition2 : renvoie True si les deux conditions sont vérifiées;
  • Not condition1 : renvoie True si la condition n'est pas vérifiée.
  • Exemple :

    Sub BonjourHeureIf()

    Dim heure As Integer

    Dim mes As String

    heure = Left(Time, 2) 'récupération de l'heure (2 caractères à 'gauche de la valeur de retour de la fonction Time

    If heure > 7 And heure < 12 Then

    mes = "Bonjour"

    ElseIf heure >= 12 And heure < 18 Then

    mes = "Bon après-midi"

    ElseIf heure >= 18 And heure < 22 Then

    mes = "Bonne soirée"

    Else

    mes = "Bonne nuit"

    End If

    Range("A1").Value = mes

    End Sub

    Ce chapitre est terminé, à vous de jouer ! ‹ lien vers les exercices