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 le 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.