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.