Select Case
Cette instruction permet d'exécuter 1 ou plusieurs instructions selon le résultat d'une variable, elle permet plusieurs branchements possibles et évite l'utilisation de ElseIf. Chaque instruction Case peut contenir 1 ou plusieurs valeurs (par exemple : 1,5,8), une plage de valeurs (par exemple : 1 to 5) ou la combinaison d'une valeur et d'un opérateur de comparaison (par exemple : Is >= 5). Elle s'utilise comme dans l'exemple suivant :
Sub Condition()
Dim N As Byte
Dim MaCel As Range
For N = 1 To 10
Range("A" & N) = N
Next
For Each MaCel In Range("A1:A10")
Select Case MaCel
Case 2
MaCel.Offset(0, 1) = MaCel + 1000
Case 1, 4
MaCel.Offset(0, 1) = MaCel + 10000
Case 5 To 6
MaCel.Offset(0, 1) = MaCel + 10
Case Is > 7
MaCel.Offset(0, 1) = MaCel + 100
Case Else
MaCel.Offset(0, 1) = MaCel
End Select
Next
End Sub
If.....Then.....Else
Cette instruction permet d'exécuter 1 ou plusieurs instructions selon le résultat d'une condition, vous avez 2 branchements possibles : le cas où la condition est vraie et le cas où elle est fausse. Cette instruction s'utilise ainsi :
- 1 seule instruction à exécuter si la condition est vraie :
Sub Condition()
If Date > "01/01/2001" Then MsgBox "Nous sommes le " & Format(Date, "dddd d mmmm yyyy")
End Sub - Plusieurs instructions à exécuter si la condition est vraie :
Sub Condition()
If Date > "01/01/2001" Then
Range("A1") = Date
MsgBox "Nous sommes le " & Format(Date, "dddd d mmmm yyyy")
End If
End Sub