Bonjour Ðidier, le Forum
Ah oui, j'ai été aussi surpris il y a bien longtemps en voyant les deux syntax possibles...
En fait c'est assez simple :
Syntax 1
If Range("A1") = "" Then
MsgBox "La Cellule A1 est Vide"
End If
Peut tout aussi bien s'écrire comme ceci :
Syntax 2
If Range("A1") = "" Then MsgBox "La Cellule A1 est Vide"
Perso, j'utilise beaucoup la Syntax 2 dans le cas de Test d'intégrité dans les évènements devant de poursuivre une Macro, exemple pour un UserForm avec une ListBox qui doit avoir une Sélection impérativement, exemple :
If ListBox1.ListIndex = -1 Then Exit Sub
Là où on devra plus obligatoirement appliquer la Syntax 1 c'est dans le cas d'un "Else"
Syntax 1
If Range("A1") = "" Then
MsgBox "La Cellule A1 est Vide"
Else
MsgBox "La Cellule A1 est Vide"
End If
Que l'on peut voir écrit aussi comme ceci, mais bon, je n'aime pas trop (l'utilisation des ":" permet d'écrire sur la même ligne différentes instructions, ce n'est pas exactement comme dans l'exemple de départ)...
Syntax 2
If Range("A1") = "" Then MsgBox "La Cellule A1 est Vide" Else MsgBox "La Cellule A1 est Vide"
Et si l'on passe par des ElseIf alors la Syntax 2 devient impossible...
Syntax 1
If Range("A1") = "" Then
MsgBox "La Cellule A1 est Vide"
ElseIf IsNumeric(Range("A1")) Then
MsgBox "La Cellule A1 contient un nombre"
ElseIf Not IsNumeric(Range("A1")) Then
MsgBox "La Cellule A1 ne contient pas un nombre"
End If
De plus on notera l'usage de "l'identation" (les retraits décalés) qui permet une lecture bien améliorée du code...
En espérant t'avoir éclairé...
Si Non, Alors Lire l'aide VBA !
Bon Samedi
@+Thierry