Syntaxe de l'instruction If...Else
Résolu
Markos
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'aimerais savoir ce qu'il y a de faux dans ce script VBA :
Private Sub CommandButton1_Click()
If (Weekday(Date) = 1) Then MsgBox "Aujourd'hui c'est dimanche"
Else: MsgBox "Aujourd'hui ce n'est pas dimanche"
End If
End Sub
En effet, ce script produit un message d'erreur "Else sans If". Pourtant, j'ai bien une instruction "If... Then..."
(J'utilise Excel 2007)
J'aimerais savoir ce qu'il y a de faux dans ce script VBA :
Private Sub CommandButton1_Click()
If (Weekday(Date) = 1) Then MsgBox "Aujourd'hui c'est dimanche"
Else: MsgBox "Aujourd'hui ce n'est pas dimanche"
End If
End Sub
En effet, ce script produit un message d'erreur "Else sans If". Pourtant, j'ai bien une instruction "If... Then..."
(J'utilise Excel 2007)
1 réponse
-
Bonjour
Il y a deux syntaxes du if en VB
If condition then instruction [: instruction...] else instruction [: instruciton...]
ouIf condition then Instruction ... else instruction ... End If
Si tu as commencé avec la 1ère syntaxe (instruction sur la même ligne que le then) tu dois continuer, c'est à dire avec le else sur la même ligne et sans endif-
Merci. Je pense que c'est en effet le retour ligne qui posait problème. Ca a l'air de marcher :
Private Sub CommandButton1_Click()
If (Weekday(Date) = 1) Then
MsgBox "Aujourd'hui c'est dimanche"
Else: MsgBox "Aujourd'hui ce n'est pas dimanche"
End If
End Sub
Les deux points après le Else se sont ajoutés automatiquement. Enfin, bon, ça marche. -
Les deux points servent à séparer deux instructions sur une même ligne. Tu aurais dû mettre ton msgbox sur la ligne suivante. Il a compris tout seul et a ajouté le : pour séparer le else du msgbox, alors qu'il n'y en a pas avec la 1ère syntaxe.
Tu sais que tu peux mettre sur une seule lignex=1 : y=2 : z=3
-