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

XL 2016 Problème Combobox UserForm VBA

S[1]t'Yor

XLDnaute Junior
Bonjour à tous et à toutes !

Je me retrouve bloqué, j'ai créé un UserForm ou j'ai 2 listes déroulantes avec des données extraites d'un Excel. Lorsque je fais tourner le programme, la liste s'affiche mais quand je choisis une des valeurs dans la liste, elle ne s'affiche pas dans la case du ComboBox. Est-ce un problème dans les propriétés de ma combobox ? Ou dans le code

Merci d'avance

Cordialement

S[1]t'Yor
 
Solution
Re,

Dans Private Sub Items_Change() , retire Items.Clear.
Même chose dans Private Sub Type_Of_Part_Liste_Change().

L'évènement Change se déclenche à chaque fois que la sélection change dans la liste. En l'occurrence, chaque fois que tu sélectionnes un élément dans la liste, ça va clear Items (donc clear ta sélection) puis relancer le remplissage de la Liste.

Bonne journée,

S[1]t'Yor

XLDnaute Junior
Bonjour,

L'USF se lance dans le module Test_LC_Ajout_Ligne, pour faire le test, je fais un ctrl+F8 au niveau de la ligne 57 (MsgBox("Done")). C'est dans ce module la que je viens récupérer les données de mon excel

Bonne journée
 

xUpsilon

XLDnaute Accro
Re,

Dans Private Sub Items_Change() , retire Items.Clear.
Même chose dans Private Sub Type_Of_Part_Liste_Change().

L'évènement Change se déclenche à chaque fois que la sélection change dans la liste. En l'occurrence, chaque fois que tu sélectionnes un élément dans la liste, ça va clear Items (donc clear ta sélection) puis relancer le remplissage de la Liste.

Bonne journée,
 

xUpsilon

XLDnaute Accro
Oui ça explique ce comportement en effet.
Je ne sais pas pourquoi tu as mis tes macros dans un évènement Change, mais ce n'est clairement pas une chose à faire au vu de l'utilisation souhaitée de ta liste.

Bien à toi,
 

S[1]t'Yor

XLDnaute Junior
Merci pour ta réponse, je suis vraiment novice en VBA et je ne comprends pas tout.... La, j'ai apporté des modifications et ça fonctionne. J'ai une dernière question : comment faire pour que les textBox à droite des listes déroulantes ne puisse pas être modifiées tant qu'il n'y a pas "Nouvel Item" de choisi dans la liste déroulante ?

Merci à toi pour ton temps
 

xUpsilon

XLDnaute Accro
Re,

Quelques modifications :
- UserForm_Initialize remplacé par UserForm_Activate
- Dans UserForm_Activate, on rajoute Textbox1.Locked = True (par défaut, textbox bloquée)
- Dans Items_Change, on rajoute
VB:
If Items.Value = "Nouvel Item" Then
    Textbox1.Locked = False
Else
    Textbox1.Locked = True
    Textbox1.Value = ""
End if

Bonne journée,
 

Discussions similaires

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