Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Visual Basic » Initiation à VB » Structures de contrôle » Conditions (If)Connexion
 


Dans cet article... 
  • Le bloc If / End If
  • Conditions composées (And et Or)
  • Variantes du If
  •  Article mis à jour le 16/12/2013

    Le bloc If / End If

    Le bloc If / End If permet d'effectuer un traitement spécifique si une condition est vérifiée. Sa syntaxe générale prend cette forme :

    If condition Then
       ... instruction1
       ... instruction2
    Else
       ... instruction3
       ... instruction4
       ... instruction5
    End If

    Quelques remarques :

    • Chaque instruction se place sur une seule ligne. Ainsi, le If/Then définit la condition (sur une ligne), le Else et le End If s'écrivent seuls sur leur ligne.
    • Il peut y avoir autant d'instructions que nécessaire entre le If et le Else (deux dans l'exemple), ainsi qu'entre le Else et le End If (trois ici).
    • Sauf pour un cas particulier (voir plus bas), tout If doit être terminé par un End If.
    • Il est fortement conseillé de décaler d'une tabulation ("d'indenter") les instructions à l'intérieur du bloc. Dans l'idéal, vous devriez pouvoir lire le If puis, dans son prolongement vertical, le Else, et enfin le End If.

      Ceci permet de bien repérer le bloc, et à faciliter sa mise au point (ne pas oublier un End If, par exemple). Comparez les deux listings ci-dessous, vous confirmerez que celui de gauche est plus facile à gérer !

    Opérateurs de comparaison

    La condition est généralement une comparaison entre deux valeurs. Cette comparaison utilise les signes du tableau ci-dessous :

    > Strictement supérieur à
    < Strictement inférieur à
    >= Supérieur ou égal à
    <= Inférieur ou égal à
    = Egal à
    <> Différent de

    Conditions composées (And et Or)

    Il est possible de combiner plusieurs conditions, grâce aux mots-clefs And (Et) et Or (Ou). Dans ce cas, il est conseillé d'encadrer chaque condition par des parenthèses, de façon à éviter les ambiguïtés dans leur évaluation. Par exemple :

    1. a = 12
    2. b = 100
    3. If (a >= 10) And (b >= 50) Then
    4.    MsgBox "a est supérieur ou égal à 10 et b est supérieur ou égal à 50"
    5. Else
    6.    MsgBox "Soit a est inférieur à 10, soit b est inférieur à 50"
    7. End If

    Variantes du If

    Voici les principales variantes pratiques du If :

    If sans Else

    Une condition peut comporter un Si, mais pas de Sinon. Dans ce cas, la partie Else et les instructions qui suivent ne s'écrivent pas. Ce qui donne :

    1. If a > 12 Then
    2.    MsgBox "a est supérieur à 12. Content, hein ?"
    3. End If

    If avec une seule instruction

    Dans certains cas, le If n'est suivi que d'une seule et unique instruction. Au lieu de l'écrire sous forme de bloc If/End If complet, vous pouvez alors écrire l'instruction après le Then, et omettre la partie End If. C'est le seul cas où un If n'est pas terminé par un End If. Ceci donne par exemple :

    1. If a > 12 Then MsgBox "a est encore supérieur à 12 !"

    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]