Besoin d'aide Syntaxe If multiple

[Résolu/Fermé]
Signaler
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
Bonjour,

J'ai un petit problème de syntaxe pour deux syntaxes avec if multiples.

1. La première consiste à définir une variable en fonction d'optionbutton.
J'ai 3 optionbuttons sur mon USF que j'ai nommé "Saisie", "Infos" et "Autre"
J'aimerais définir une variable en fonction du choix qui est fait par l'utilisateur, mais je bloque :
Dim Motif As String
Motif = ""
If Saisie.Value = True Then Motif = Saisie.Caption
ElseIf Infos.Value = True Then Motif = Infos.Caption
ElseIf Autre.Value = True Then Motif = Précisez.Value
End If
Ce code ne fonctionne pas, j'ai une erreur "Complie Error Else Without If" ..... ?


2. Le second concerne toujours le même USF, sauf que cette fois j'aimerais vérifier que tous les champs sont remplis à savoir : nom, prénom et motif.
J'ai gardé la même syntaxe, à savoir celle qui marche pas...
If Nom = "" Then MsgBox ("Veuillez entrer vos votre nom s'il vous plaît. Merci")
ElseIf Prénom = "" Then MsgBox ("Veuillez entrer vos votre prénom s'il vous plaît. Merci")
ElseIf Motif = "" Then MsgBox ("Veuillez choisir un motif s'il vous plaît. Merci")
Else
'reste de la macro
J'ai fais plusieurs essais mais j'ai toujours la/les même erreurs "Else Without If" ou "End If without block if" alors que j'ai des If partout...

Merci d'avance à celui ou celle qui pourra m'aider.

3 réponses

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
Bonjour,

Pour le premier, il y a juste une erreur de syntaxe :

Dim Motif As String
Motif = ""
If Saisie.Value = True Then
Motif = Saisie.Caption
Else
If Infos.Value = True Then
Motif = Infos.Caption
Else
If Autre.Value = True
Then Motif = Précisez.Value
End If
end if
end if


Pour le deuxième :

If Nom = "" Then
MsgBox ("Veuillez entrer vos votre nom s'il vous plaît. Merci")
Else
If Prénom = "" Then
MsgBox ("Veuillez entrer vos votre prénom s'il vous plaît. Merci")
Else
If Motif = "" Then
MsgBox ("Veuillez choisir un motif s'il vous plaît. Merci")
Else
'reste de la macro
end if
end if
end if
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 181
Bonjour,
Pour que ta combinaison fonctionne il faut que le End If termine une série de conditions ce qui n'est pas le cas dans ton exxemple.
Dim Motif As String
'Motif = "" pas nécessaire... déjà vide
If Saisie.Value = True Then
Motif = Saisie.Caption
ElseIf Infos.Value = True Then Motif = Infos.Caption
ElseIf Autre.Value = True Then Motif = Précisez.Value
End If
Comme ça.. ça va aller.
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
25
Merci à vous deux.
Si je comprends bien il faut faire un retour à la ligne après le "Then" pour que le If soit pris en compte ?

Quoi qu'il en soit, merci beaucoup pour votre aide.

Bonne journée