|
CONDITIONS
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
- 1 ou plusieurs instructions si la condition est vraie et d'autres
instructions si la condition est fausse :
Sub Condition()
Dim NbJours As Long
Dim UneDate As Date
UneDate = DateValue("01/01/2001")
NbJours = Date - UneDate
If NbJours > 0 Then
MsgBox NbJours & " jours se sont déroulés
depuis le " & Format(UneDate, "dddd d mmmm yyyy")
Else
MsgBox "Encore " & -NbJours & " jours
avant le " & Format(UneDate, "dddd d mmmm yyyy")
End If
End Sub
- Tester une 2ème condition si la 1ère est
fausse :
Sub Condition()
Dim NbJours As Long
Dim UneDate As Date
UneDate = DateValue("01/01/2001")
NbJours = Date - UneDate
If NbJours > 0 Then
MsgBox NbJours & " jours se sont déroulés
depuis le " & Format(UneDate, "dddd d mmmm yyyy")
ElseIf NbJours = 0 Then
MsgBox "Nous sommes le " & Format(UneDate, "dddd
d mmmm yyyy")
Else
MsgBox "Encore " & -NbJours & " jours
avant le " & Format(UneDate, "dddd d mmmm yyyy")
End If
End Sub
Vous pouvez imbriquer plusieurs If.....Then.....Else autant
de fois que vous le désirez, mais attention à la façon
dont vous les écrivez, elles doivent se présenter ainsi
:
If condition1 then
instructions ou pas
If condition2 then
bloc d'instructions qui s'exécutent
la conditon1 et condition2 sont vraies
End if
instructions ou pas
End if
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
|