Partager via


Utilisation des instructions If...Then...Else

Utilisez la Si... Puis... Autre permet d’exécuter une instruction spécifique ou un bloc d’instructions, selon la valeur d’une condition. Vous pouvez imbriquer des instructions If...Then...Else à autant de niveaux que vous le souhaitez.

Cependant, pour favoriser la lisibilité du code, il est préférable d’utiliser une instruction Select Case plutôt que plusieurs niveaux d’instruction If...Then...Else imbriqués.

Exécution d’instructions si une condition a la valeur True

Pour exécuter une instruction uniquement quand une condition est True, utilisez la syntaxe sur une seule ligne de l’instruction If...Then...Else. L’exemple suivant montre la syntaxe à ligne unique, en omettant la mot cléElse.

Sub FixDate() 
    myDate = #2/13/95# 
    If myDate < Now Then myDate = Now 
End Sub

Pour exécuter plusieurs lignes de code, vous devez utiliser la syntaxe sur plusieurs lignes. Cette syntaxe inclut l’instruction End If, comme le montre l’exemple suivant.

Sub AlertUser(value as Long) 
    If value = 0 Then 
        AlertLabel.ForeColor = "Red" 
        AlertLabel.Font.Bold = True 
        AlertLabel.Font.Italic = True 
    End If 
End Sub

Exécution de certaines instructions si une condition a la valeur True, et d’autres instructions si elle a la valeur False

Utilisez une instruction If...Then...Else pour définir deux blocs d’instructions exécutables : un bloc s’exécute si la condition à la valeur True, l’autre si la condition a la valeur False.

Sub AlertUser(value as Long) 
    If value = 0 Then 
        AlertLabel.ForeColor = vbRed 
        AlertLabel.Font.Bold = True 
        AlertLabel.Font.Italic = True 
    Else 
        AlertLabel.Forecolor = vbBlack 
        AlertLabel.Font.Bold = False 
        AlertLabel.Font.Italic = False 
    End If 
End Sub

Test d’une deuxième condition si la première condition a la valeur False

Vous pouvez ajouter ElseIf instructions à un si... Procédez comme ceci... Autre instruction pour tester une deuxième condition Si la première condition étant faux. Par exemple, la procédure suivante de la fonction calcule une prime en fonction de classification de la tâche. L’instruction suivant la sinon instruction s’exécute si les conditions dans tous les si et ElseIf celles-ci sont faux.

Function Bonus(performance, salary) 
    If performance = 1 Then 
        Bonus = salary * 0.1 
    ElseIf performance = 2 Then 
        Bonus = salary * 0.09 
    ElseIf performance = 3 Then 
        Bonus = salary * 0.07 
    Else 
        Bonus = 0 
    End If 
End Function

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.