Userform rendre obligatoire la saisie d'un controle txt

Bonjour à tous

Est-il possible, en passant par la fenêtre des propriétés de rendre possible la saisie d'un controle zone de texte (un peu comme dans access ?) et sans passer par une instruction conditionnelle à la fermeture du formulaire (type : If txt_moncontrole ="" then msgbox "saisir une information" Exit sub)

Merci

Bonjour,

Selon ce que tu traites à la suite de ton TextBox, tu peux très bien rendre les contrôles suivants inactifs (ou invisible)..

Maintenant, la solution la plus simple, et la plus fiable, reste quand même le test conditionnel sur la valeur de ton TextBox

Tu peux aussi passer par une variable Booleenne, qui prendra la valeur True si le TextBox n'est pas vide, et False le cas échéant.

Et autoriser le(s) traitement(s) suivant(s) en fonction de cette valeur Booleenne

Re-,

Un tout petit exemple, avec une valeur booleenne

Dans l'usf, un TextBox (nommé TextBox1), et un CommandButton (nommé CommandButton1)

Dim Flag As Boolean

Private Sub CommandButton1_Click()
If Not Flag Then MsgBox "Vide"
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Flag = Me.TextBox1 <> ""
End Sub

une autre solution, à l'initialisation de l'usf, tu donnes le focus au Textbox1

Tu ne pourras pas en sortir tant que tu n'auras pas rempli le Textbox

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = Me.TextBox1 = ""
End Sub

Private Sub UserForm_Initialize()
Me.TextBox1.SetFocus
End Sub

Merci pour la réponse

En fait la propriété visible ne m'est pas d'un grand secours

Mon problème est assez courant j'imagine :

Je souhaite saisir plusieurs fois de suite des informations dans un formulaire

Avant, je devais valider puis rouvrir le formulaire pour saisir de nouvelles info

J'ai donc insérer un bouton "nouvel enregistrement" (cmd_nv) qui sur clic décharge puis ouvre à nouveau le formulaire (mais avec les controles remis à zéro)

Mon soucis, c'est qu'on peut cliquer sur ce bouton au premier chargement du formulaire, or dès l'ouverture du formulaire, une nouvelle ligne s'insère dans une base excel et des données par défaut alimente la base. Je souhaiter donc rendre la saisie obligatoire sur certains controles avant de pouvoir utiliser le bouton nouvel enregistrement

J'ai ensuite opter pour une autre solution : Je masque ce bouton (cmd_nv) à l'ouverture du formulaire mais souhaite qu'il réapparaisse dès que certains controles sont renseignés

Mais bon tjs pareil, il faut que j'oblige la saisie de ces controles

Enfin, si il existe une méthode plus simple pour saisir dans le même formulaire plusieurs fois des enregistrements, je suis preneuse ...

Cordialement

Re-,

pour t'aider au mieux, le plus simple serait un fichier, avec l'userform

Supprime toutes les données, mais laisse l'userform

Ne garde qu'une feuille

Et zippe-le, il devrait faire moins de 100 Ko...

Et joins le zip

Ci joint ce que j'ai pu tirer de ma cervelle ça fonctionne mais comme j'ai tendance à chercher midi à 14 heures, y a peu etre un moyen plus simple de réaliser ce formulaire

Merci

pj : https://www.excel-pratique.com/~files/doc2/formulaire_employA_.zip

Re-,

j'ai pas encore tout regardé, mais c'est une mauvaise idée d'écrire en direct, lorsque tu es sur l'USF....

Tu devrais d'abord remplir tous les champs, puis Valider, lorsque tu as tout vérifié (au besoin, un contrôle automatique....)

Travaille dans ce sens, c'est beaucoup plus prudent

Une erreur, aussi, sur le bouton "Nouvel Employé"

Je regarde dès que j'ai le temps...

Re-,

Juste pour voir...

en utilisant un module de classe..

Pas de services, ou pas de week-end, on ne continue pas....

Textbox ou combobox vides, on ne continue pas non plus.....

Pas d'heures, tout pareil....

regarde le fichier...

https://www.excel-pratique.com/~files/doc2/formulaire_employe_v1.xls

Bonjour

Merci de ton aide

Je ne sais malheureusement pas me servir des modules de classes. je vais essayer de comprendre comment ils fonctionnent avec ton fichier

En tous les cas je te remercie vraiment d'avoir pris le temps de me répondre

Cordialement

Rechercher des sujets similaires à "userform rendre obligatoire saisie controle txt"