
Envoyé par
Philippe Tulliez
Bonjour,
Si le bouton OK n'est pas actif, l'utilisateur ne comprendra t'il pas qu'il doit encore remplir les textbox ?
Cependant, rien ne t'empêche d'ajouter les lignes à afficher. Il faut adapter le code.
Mon but était de te montrer comment modifier la propriété Enable du contrôle CommandButton à l'aide d'une fonction de test
J'essaye de comprendre exactement ce qu'il faut faire et de compiler avec ce que vous me dîtes. Je ne cherche pas un code tout fait, loin de là. J'ai commencé VBA seulement depuis 2 mois et je ne suis pas du tout au point.
Il me faut assimiler ce que vous m'expliquez.
Dans mon programme, je me mets à la place de l'utilisateur le plus bête.
Je sais utiliser la propriété Enabled, je l'ai déjà fait pour des checkbox que j'ai abandonné pour des optionbutton mais pour le coup je ne sais pas si j'ai eu raison car j'ai encore plus de mal.
J'ai donc fait votre code comme ceci et supprimé le mien si j'ai bien compris :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Option Base 1
Private Function TestSiVide() As Boolean
'---------------------------------------------------------
Dim ctrl As Control, r As Long
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Len(ctrl.Value) = 0 Then Exit Function
End If
Next
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.ComboBox Then
If Len(ctrl.Value) = 0 Then Exit Function
End If
Next
'---------------------------------------------------------
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.ListBox Then
If Len(ctrl.Value) = 0 Then Exit Function
End If
Next
'---------------------------------------------------------
For Each ctrl In Me.Controls
If TypeOf ctrl Is MSForms.OptionButton Then
If Len(ctrl.Value) = 0 Then Exit Function
End If
Next
TestSiVide = True
End Function |
Puis j'ai ajouté votre phrase au commandbutton "valider":
Me.CommandButton1.Enabled = TestSiVide
Est-ce comme ceci qu'il faut procéder ? Car en faisant ceci mon bouton valider n'est en aucun cas grisé.
J'essaie vraiment de comprendre et non de copier.
En ajoutant mes morceaux de codes du poste #1 des messages box rien ne se passe non plus.
Je n'ai jamais utilisé Function malgré avoir lu certains tutoriaux.
Par conséquent, j'aurai besoin d'un tutoriel très explicatif (alors que j'en ai déjà lu beaucoup) ou que vous preniez un peu de votre temps pour m'expliquer. Sans vouloir abuser.
Je vous remercie
Partager