XL 2013 Afficher TextBox dans UserForm si valeur spécifique sélectionnée dans ComboBox

Claggan

XLDnaute Nouveau
Bonjour,

Comme l'indique le titre de cette discussion, j'ai un problème que je n'arrive pas à résoudre sur un UserForm dans excel VBA.

Lors de l'ouverture de l'UserForm à l'aide d'un bouton, l'utilisateur peut sélectionner un jour en Combobox1, une tâche en Combobox2 et je souhaiterais faire apparaître ou disparaître une TextBox3 (il y en a 2 autres qui n'interviennent pas dans l'équation) suivant la tâche sélectionnée et dans laquelle l'utilisateur doit remplir un chiffre entier ou décimal correspondant au temps passé à la tâche sélectionnée.

Exemple :
Jean sélectionne Lundi en CB1, Manger en CB2, et lorsqu'il sélectionne Manger, la TextBox3 apparaît et il peut la remplir. Par contre par défaut, elle est désactivée.

J'ai pu masquer sans problème la TextBox3 dans ses paramètres, mais je n'ai pas pu la faire réapparaître à la sélection d'une valeur spécifique de CB2 :
J'ai essayé dans le code de la liste déroulante d'intégrer le code suivant mais sans succès :
Private Sub ComboBox2_Change()
If ComboBox2.ListIndex = 11 Then TextBox3.Visible = True
Else: TextBox3.Visible = False
End If
End Sub

Il faudra ensuite que j'exploite la valeur rentrée, mais chaque problème en son temps !

D'avance merci si vous arrivez à trouver une solution à mon (petit) problème :)

Bonne soirée
 

Claggan

XLDnaute Nouveau
Bonjour
ben il faudrait nous en dire un peu plus
avec quel index doit il réapparaître ou disparaître apart 11 que tu a spécifier???
Bonjour,

Il doit apparaître seulement pour l'index 11, en fait pour tous les autres le formulaire se remplit de façon "standard" et pour le 11ème c'est spécifique, il faut qu'ils remplissent une cellule de plus.
Ce que j'ignore aussi, c'est à quel endroit intégrer le code.

Cordialement
 

patricktoulon

XLDnaute Barbatruc
re
c'est moi ou.....

je te cite
Il doit apparaître seulement pour l'index 11,
et apres tu dis
en fait pour tous les autres le formulaire se remplit de façon "standard" et pour le 11ème c'est spécifique
dis moi un peu!!! comment veux tu remplir DE facon standard un textbox qui est invisible
a moiNs que un index autre que 11 n'a pas besoins du tbx

ensuite tu dis
, il faut qu'ils remplissent une cellule de plus.
mais de quoi tu parle ???????
LOL ;)
 

Claggan

XLDnaute Nouveau
re
c'est moi ou.....

je te cite

et apres tu dis

dis moi un peu!!! comment veux tu remplir DE facon standard un textbox qui est invisible

a moiNs que un index autre que 11 n'a pas besoins du tbx

ensuite tu dis

mais de quoi tu parle ???????
LOL ;)
Justement c'est là où j'ai du mal m'exprimer :)
La TextBox3 doit apparaître uniquement lorsque je sélectionne l'index 11 du Combobox.
Donc c'est pour cela que j'appelle ça "spécifique". Pour tous les autres index, la TextBox3 ne doit pas apparaître.

J'espère avoir été un peu plus clair ! :)
 

Claggan

XLDnaute Nouveau
Bonjour,

Merci pour cette réponse.
Dois-je inclure le code dans une boucle If ? Et à quel endroit ?

Je l'ai introduit comme tel :
Private Sub ComboBox2_Click()
TextBox3.Visible = ComboBox2.ListIndex = 11
End Sub

Seulement cela ne fonctionne pas.
Avez-vous des pistes ? :)
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 977
Membres
103 078
dernier inscrit
diomy