Besoin d'aide Syntaxe If multiple

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 17 oct. 2013 à 08:36
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 17 oct. 2013 à 11:34
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

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
17 oct. 2013 à 09:30
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
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 17/10/2013 à 10:15
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 .
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
17 oct. 2013 à 11:34
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
0