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

Messages postés
34
Date d'inscription
vendredi 18 avril 2008
Dernière intervention
27 février 2009
- - Dernière réponse : cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 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 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
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
Messages postés
34
Date d'inscription
vendredi 18 avril 2008
Dernière intervention
27 février 2009
0
Merci
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.