Accueil
If.. Then.. Else .. End if
Select Case
Iif()
If.. Then.. Else
L'instruction If.. Then.. Else teste si
une condition est vraie ou fausse. La syntaxe est la suivante :
If condition Then
bloc d'instructions 1
Else
bloc d'instructions 2
End If
- Si la condition est vraie, la ou les instructions après Then
sont exécutées.
- En revanche, si la condition est fausse, ce sont les instructions
après Else qui sont exécutées.
Ci dessous, nous testons si l'âge est supérieur
ou égal à 18 :
Sub essai()
Dim age
age = InputBox("Votre âge ")
If age >= 18 Then
MsgBox "Majeur"
Else
MsgBox "Mineur"
End If
End Sub
Conditions multiples: Le test de conditions
multiples se fait avec les opérateurs suivants:
AND: ET
OR: OU
NOT: NON
XOR: OU exclusif
Sub essai2()
Dim n
n = InputBox("Entrez un nombre ")
If n >= 10 And n <= 20 Then
MsgBox "Nombre compris entre 10 et
20"
End If
End Sub
Sur cet exemple, nous colorions le service choisi:
Coloriage.xls
Sub coloriageService()
service = InputBox("Quel service")
Range("A2:D2").Select
Do While ActiveCell <> ""
If ActiveCell.Offset(0, 1) = service Then
Selection.Interior.ColorIndex
= 36
Else
Selection.Interior.ColorIndex
= xlNone
End If
Selection.Offset(2, 0).Select ' Curseur
en dessous
Loop
End Sub
Select Case
L'instruction Select Case teste la valeur
d'une variable ou d'une expression et exécute la suite d'instructions
associée à la valeur. la syntaxe est la suivante :
Select Case expression
Case valeur1 To valeur2,...
instructions
Case valeur3 To valeur4,...
instructions
Case opérateur <,=,> valeur
instructions
Case Else
instructions
End Select
Sub essai3()
Dim age
age = InputBox("Votre âge?")
Select Case age
Case 0 To 10
MsgBox "0 à
10"
Case 11 To 20
MsgBox "11 à
20"
Case 21 To 30
MsgBox "21 à
30"
Case Is > 30
MsgBox "Sup à
30"
Case Else
MsgBox "Cas non traité"
End Select
End Sub
Remarque:
Un seul Case est exécuté. Dès qu'une
condition est vérifiée, le bloc d'instructions associé
est exécuté puis l'exécution du programme se poursuit
après End Select.
Sur l'exemple ci dessous on colorie
les cellules du champ sélectionné.
SelectCase.xls

Sub colorie()
For Each c In Selection
Select Case UCase(c)
Case "C"
couleur = Range("G1").Interior.ColorIndex
Case "T"
couleur = Range("I1").Interior.ColorIndex
Case "A"
couleur = Range("K1").Interior.ColorIndex
Case "M"
couleur = Range("M1").Interior.ColorIndex
Case Else
couleur = xlNone
End Select
c.Interior.ColorIndex = couleur
Next c
End Sub
Fonction Iif(condition,si_vrai,si_faux)
Cette fonction retourne :
- Si_vrai si la condition est vraie
- Si_faux si la condition est fausse
Sub Essai()
Dim age
age = InputBox("Votre age")
MsgBox Iif(age < 18, "Mineur", "Majeur")
End Sub
|