Fermeture d'un userform sans le remplir... [Résolu]

nasilo 34 Messages postés vendredi 18 avril 2008Date d'inscription 27 février 2009 Dernière intervention - 17 févr. 2009 à 10:26 - Dernière réponse : cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention
- 17 févr. 2009 à 19:02
Re bonjour encore moi....
Je suis a nouveau confronté à un problème que je n'arrive pas à résoudre...parmi tant d'autres...
Dans mon userform j'ai "obligé" des saisies dans des textbox. Mais si j'ouvre mon userform par erreur et que je veux quitter avec la syntaxe unload mon userform à l'aide de mon bouton quitter, la première messagebox me disant qu'une  saisie est obligatoire dans mon premier textbox s'affiche et empêche la fermeture de mon userform pourquoi ?
Si je ferme l'userform à l'aide de la croix dans l'angle supérieur droit, l'userform se ferme mais la première boite de message apparait quand même...
je crois que je vais me mettre au jardinage ..oupssssssssssssss
Afficher la suite 

3 réponses

Répondre au sujet
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 17 févr. 2009 à 19:02
+3
Utile
Ok
Le test que tu fais dans la TextBox, il faut le mettre dans le bouton de validation de la fiche, dans le Bouton "Ok".
Il faut tester chaque champ "obligatoire", exemple :
   If Len(Trim(TextBox_Nom.Text)) = 0 Then
      MsgBox "La saisie du nom est obligatoire"
      TextBox_Nom.SetFocus   ' renvoie le curseur dans la TB
      Exit Sub   ' Annule l'action en ressortant de suite
   End If
PS : Il est possible que sous Excel, le SetFocus ne soit pas accepté. Dans ce cas, ne mets pas cette ligne

De cette manière, les tests ne seront effectués que lors d'une validation et laissera une plus grande liberté à l'utilisateur s'il désire remplir d'autres champs avant le nom.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 17 févr. 2009 à 12:27
0
Utile
Re
"j'ai "obligé" des saisies dans des textbox" : Par quel biais ?
C'est surement là le problème.
Si tu obliges à saisir quelque chose, bah ... faut saisir quelque chose.

"mais la première boite de message apparait quand même" : Quel première boite de dialogue ?

Dans quel programme de Office travailles-tu ? Excel, Word, Access, PowerPoint ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
nasilo 34 Messages postés vendredi 18 avril 2008Date d'inscription 27 février 2009 Dernière intervention - 17 févr. 2009 à 13:39
0
Utile
bonjour,
je travaille dans excel 2003 à l'aide de vba
voici la manière dont "j'oblige" une saisie
Private Sub TextBox_nom_Exit(ByVal Cancel As MSForms.ReturnBoolean)

TextBox_nom.Value = StrConv(TextBox_nom.Value, vbUpperCase)
' j'oblige une saisie dans le champ nom
If Len(TextBox_nom) = 0 Then
MsgBox "Saisie d'un nom obligatoire "
'( ceci permet de forcer la saisie et de ne pas quitter sans que la saisie n'est pas faite)
Cancel = True
End If...
Donc si j'ouvre mon userform par erreur et que je veux le fermer par mon bouton quitte (unload monuserform...)
un message box apparait qui me dit saisie d'un nom obligatoire".
J'aimerai dan le cas de cette erreur d'ouverture que mon userform puisse se fermer par mon bouton quitte sans que ce msgbox apparaisse. Est-ce possible ?
Commenter la réponse de nasilo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.