Problème MsgBox - VB/VBA/VBS - Programmation
Marsh Posté le 09-02-2010 à 21:15:19
Non.
Tes conditions 2 et 3 sont identiques et indique le contenu de la textbox est différent de la chaine de caractère contenant 1 espace.
Sinon, si tu veux boucler tan que les conditions que tu veux ne soient pas remplies, il faut utiliser un truc comme de do...loop
Exemple :
|
Marsh Posté le 10-02-2010 à 08:30:15
Bonjour OtObOx,
Merci pour ta réponse, en fait vu le code que tu me proposes, tu as tout à fait compris mon problème.
Notamment sur la ligne suivante:
textbox.setfocus 'Redonne le focus à la textbox
Mais malgrès tout je n'arrive pas à retourner sur cette textbox! Quand je clique sur la MsgBox, la userform prècedente se ferme également.
Comment puis-je y remédier?
Par contre dans les conditions j'ai utlisé Select case
Code:
Select Case Textbox
'1ère condition'
Case Is = " "
msgbox "Veuillez saisir un texte" et donc pas moyen de retourner sur la userform en quittant la MsgBox (Ou setfocus sur Userform.TextBox)
Case Is <> " "
'ici test si la valeur de la TextBox appartient à la liste'
For a=1 to z
'2ème Condition'
If TextBox="ma liste" then
MsgBox "Le texte existe déjà" idem pas moyen de retourner sur la userform
Exit For
End If
Next a
'3ème Condition'
Si condition 1 et 2 sont fausse alors on passe à l'évenement 3
Je vais essayer d'adapter mon projet avec ton code. Je te tiens au courant. Merci
Marsh Posté le 10-02-2010 à 18:53:01
As tu remarqué le do...loop où tu sors uniquement quand la 3e condition est vraie ? Sinon, en quittant la message box, tu retombes sur le loop qui te ramène en début de choix.
Or, je ne vois pas cette boucle dans ton code.
Marsh Posté le 21-04-2010 à 08:23:25
Bonjour. Je viens de trouver la solution à mon problème concernant la gestion des MsgBox. En effet, mon souci était de pouvoir éditer (modifier les données) via une Userform. La difficulté était de gérér le comportement de ces MsgBox en fonction des valeurs existantes. Voilà le code.
|
Merci encore à toi OtObOx de m'avoir mis la puce à l'oreille.
Marsh Posté le 09-02-2010 à 16:30:50
Bonjour,
Je viens de rencontrer un petit problème qui commence à m'énerver (lol, je cherche mais ne trouve pas!).
C'est à dire que dans mon projet, il y a une Userform dans laquelle il y a une Textbox et un bouton.
Lorsque l'on active cette Userform, il y a 3 conditions pour la Textbox qui s'active en appuyant sur le bouton.
Condition 1:
TextBox=" "
La textbox est vide et un Msgbox apparait "Veuillez saisir du texte", lors de l'appui sur le bouton.
Condition 2:
TextBox<>" "
La textbox n'est pas vide mais le texte saisi appartient à la liste, donc apparition d'un Msgbox "Votre saisie existe déjà!" lors de l'appui sur le bouton.
Condition 3:
TextBox<>" "
La textbox n'est pas vide et le texte ne figure nul part, alors le programme continue lors de l'appui sur le bouton.
Mon problème se situe pour les cas 1 et 2. En effet je n'arrive pas à fermer le MsgBox sans que la procédure suivante avec la Userform ne se termine.
J'aimerais, par exemple que pour la condition 1, lorsque la Userform apparait et que l'on ne saisisse rien dans la textbox, dès l'appui du bouton la Msgbox informe l'utilisateur qu'il n'y a rien de saisi dans cette textbox. Alors à la fermeture de la MsgBox, on a la possibilité de ressaisir dans la textbox plutôt que de relancer la userform. M'avez-vous compris?
Merci pour votre aide