Manque information dans une UserForm

[Résolu/Fermé]
Signaler
-
 Philou.ch -
Bonjour,
J'ai créé une UserForm, dans laquelle j'ai une listbox, des Checkboxs et une validation des choix par un CommandButton.
J'ai Chx1 qui est le choix de la listbox, Chx2 choix selon la Checkbox choisie. Tout celà fonctionnent à merveille.
Mon soucis est dans le contrôle pour ne pas avoir un vide.
C'est à dire si Chx1 ou Chx2 est vide comment faire pour que si l'utilisateur valide le boutton CommandButton, je lui indique qu'il y a un oubli.
J'ai essayé avec celà :

'Contrôle que rien n'est vide
If Chx1 = "" Then
    Q = MsgBox("Vous n'avez pas indiquz de motif." & Chr(10) & Chr(10) & "Veuillez corriger, merci.", vbExclamation, "Manque d'information.")
    ListBox1.SetFocus
ElseIf Chx2 = "" Then
    Q = MsgBox("Vous n'avez pas indiquz de nombre." & Chr(10) & Chr(10) & "Veuillez corriger, merci.", vbExclamation, "Manque d'information.")
End
End If


Je vous remercie déjà du temps de la lecture de mon problème, et d'avance je vous suis reconnaissant de l'aide ou des pistes que vous pouvez m'apporter.

Meilleures salutations

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Messages postés
1412
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
9 mars 2021
153
Bonjour Philou, bonjour le forum,

Tu as juste oublié de mettre un Exit Sub pour sortir de la procédure quand la condition n'est pas remplie. Ça donne :

'Contrôle que rien n'est vide
If Chx1 = "" Then
    Q = MsgBox("Vous n'avez pas indiquz de motif." & Chr(10) & Chr(10) & "Veuillez corriger, merci.", vbExclamation, "Manque d'information.")
    ListBox1.SetFocus
    Exit Sub
ElseIf Chx2 = "" Then
    Q = MsgBox("Vous n'avez pas indiquz de nombre." & Chr(10) & Chr(10) & "Veuillez corriger, merci.", vbExclamation, "Manque d'information.")
    ListBox2.SetFocus
    Exit Sub
End If

ThauTheme,

Merci d'avoir répondu à ma question.
C'est tout bon.