Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide sur UserForm : commande "valider"

  • Initiateur de la discussion Initiateur de la discussion JMR150
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JMR150

XLDnaute Nouveau
Bonjour tout le monde !

J'ai créé un UserForm tout simple composé de TextBox et de ComboBox. Je dois l'utiliser dans le cadre de la création d'une base de données que vous verrez dans la feuille "DONNEES" du fichier joint. Les champs se complètent parfaitement, et dans l'ordre souhaité dès que j'appuie sur "Valider".
Pour aller plus loin, je voulais donner comme fonction à ce bouton de commande de ne s'activer que lorsque les champs sont complétés (les TextBox 7 et 8 ne sont pas obligés d'être complétés). Dans le code que vous verrez dans le fichier, je n'ai essayé que pour la TextBox1 pour commencer.
Gros hic 🙁 : le bouton est toujours désactivé même si le champ est complété.

Voilà le code :

Code:
'Met la date d'aujourd'hui par défaut et désactive le bouton "Valider" si TextBox1 non renseigné
Private Sub UserForm_Activate()
TextBox2 = Date
If IsNull(TextBox1.Value) Or TextBox1 = "" Then
CommandValider.Enabled = False
End If
End Sub

Vous pouvez m'aider à remédier à ce problème s'il vous plaît ? C'est la seule chose qui me manque pour rendre ce UserForm opérationnel.

Merci d'avance 🙂
 

Pièces jointes

Re : Aide sur UserForm : commande "valider"

Bonjour,

pas ouvert ton fichier, mais regarde ceci si cela peut t'aider :
Code:
CommandButton1.Enabled = Not TextBox1 = ""

bonne journée
@+

Edition : bonjour Dull🙂
 
Re : Aide sur UserForm : commande "valider"

bonjour JMR150 ,Dull🙂,Pierrot🙂

pour simplifier dans son cas on pourrait utiliser la propriéte TAG

Code:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim z As Byte, c As Control
 z = 0
 For Each c In Controls
 If c.Tag <> "" And c <> "" Then z = z + 1
 Next
 CommandValider.Enabled = IIf(z = 12, 1, 0)
End Sub

dans propriétee TAG de chaque controle concerne j'ai mis 1 histoire de mettre quelque chose
 
Re : Aide sur UserForm : commande "valider"

Une dernière question : Comment faire pour que cela soit valable pour toutes les textbox et ComboBox ?
Car quand je le fais pour chaque TextBox, dès qu'il y en a une qui se remplie, ça active le bouton "Valider" alors que ce que je voudrais c'est que tant que les champs ne sont pas tous remplis, ça ne s'active pas ...
 
Re : Aide sur UserForm : commande "valider"

Re JMR150; Salut Pierrot🙂, Laetitia🙂

Une petite dernière qui boucle sur les controls type TextBox, ComboBox, ListBox
et qui interdit la validation de l'USF tant qu'il y a des TextBox (Sauf la 7 et la 8) et/ou ComboBox vides

Code:
Dim x As Control

  For Each x In Me.Controls
    Select Case TypeName(x)
      Case "TextBox", "ComboBox", "ListBox"
        If x.Value = "" And x.Visible = True And x.Name <> "TextBox7" And x.Name <> "TextBox8" Then
           MsgBox "Veuillez saisir cette zone!"
           x.SetFocus
           Exit Sub
        End If
     End Select
   Next x
Code à placer dans le Private Sub CommandValider_Click()

Bonne Journée
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…