XL 2019 remplir un combobox

dodineau

XLDnaute Occasionnel
Bonjour à toutes et tous.
J'ai une liste avec une colonne : produits et une colonne : villes.

laine Paris
crème Rouen
viande Rennes
tomates Avignon
feuille Paris
Lunettes Marseille

Dans un USF, je voudrais remplir un combobox avec uniquement les produits de Paris, par exemple.
Ainsi obtenir ce combobox :
laine
feuille

Je n'arrive pas à trouver comment remplir le code .rowsource.
Merci pour votre aide.
A+
 
Solution
Bonjour.
Rien à programmer sauf à l'initialisation pour dire à un CLs qu'il doit travailler avec ce tableau (méthode Plage) et prendre en charge les deux ComboBox (méthode Add pour chacune)

patricktoulon

XLDnaute Barbatruc
Bonjour Robert
sinon tu peux te passer du gros lourdaud de dictionnaire ;)
VB:
Option Explicit    'oblige a déclarer toutes les variables
Private TV As Variant    'déclare la variableTV (Tableau des Valeurs)

Private Sub UserForm_Initialize()    'à l'initialisation de l'UserForm
    Dim I&, X&
    TV = Feuil1.Range("A1").CurrentRegion    'définit le tableau des valeurs TV
    For I = 2 To UBound(TV)
        X = Application.Match(TV(I, 2), Application.Index(TV, 0, 2), 0)
        If X = I Then ComboBox1.AddItem TV(I, 2)
    Next
End Sub

Private Sub ComboBox1_Change()    'au changement dans la ComboBox1
    Dim I As Integer    'déclare la variable I (Incrément)

    Me.ComboBox2.Clear    'vide la ComboBox2
    For I = 2 To UBound(TV, 1)    'boucle sur toutes les lignes I du tableau des valeurs TV (en partante de la seconde)
'si la donnée ligne I colonne 2 de TV est égale à la valeur de la ComboBox1 ajoute la donnée ligne I colonne 1 à la ComboBox2
        If TV(I, 2) = Me.ComboBox1.Value Then Me.ComboBox2.AddItem TV(I, 1)
    Next I    'prochaine ligne de la boucle
    If Me.ComboBox2.ListCount = 1 Then Me.ComboBox2.ListIndex = 0    'si la ComboBox2 ne contient qu'u seul élément celui-ci s'affiche par défaut
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Rien à programmer sauf à l'initialisation pour dire à un CLs qu'il doit travailler avec ce tableau (méthode Plage) et prendre en charge les deux ComboBox (méthode Add pour chacune)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 685
Messages
2 090 943
Membres
104 704
dernier inscrit
uranium