Fermeture d'un userform sans le remplir...

Résolu
nasilo Messages postés 34 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 27 février 2009 - 17 févr. 2009 à 10:26
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur 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

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 févr. 2009 à 19:02
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)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 févr. 2009 à 12:27
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)
0
nasilo Messages postés 34 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 27 février 2009
17 févr. 2009 à 13:39
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 ?
0
Rejoignez-nous