VBA Combobox liée à une Listbox

Résolu/Fermé
Julistage Messages postés 29 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 19 septembre 2014 - 10 nov. 2010 à 17:04
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 - 15 nov. 2010 à 14:13
Bonsoir à tous !

Voilà comme l'indique le titre de mon post, je souhaiterais lier une selection faite dans une combobox avec une liste d'item lui correspondant. Du style: La combobox contient une catégorie de produits, et la listbox contient la sous-catégorie.

Voilà ce que j'ai commencé à faire... Mais ça marche pas trop. ça va chercher des données, mais ce ne sont pas les bonnes...

En gros dans la combobox, se trouve des éléments se trouvant dans la colonne A d'un fichier excel, et dans la listbox, il doit apparaitre des éléments se trouvants dans la colonne C...

Voilà mon bout de code, si quelqu'un voit une erreur s'il vous plait? Mes sous catégories sont fausses au moment de la selection de la catégorie via la combobox.

Private Sub Userform_Activate()
..........................
..........................
..........................
 'Récupère les données de la colonne A...
 For j = 1 To Range("A65536").End(xlUp).Row
        ComboBox3 = Range("A" & j)
        '...et filtre les doublons
        If ComboBox3.ListInde x = -1 Then ComboBox3.AddItem Range("A" & j)
    Next j
End sub


Private Sub ComboBox3_Change()
Dim j As Integer

    
    Me.ListSources.Clear
        
        For j = 1 To Range("C65536").End(xlUp).Row
            If Cells(j, 1) = ComboBox3.Value Then
                Workbooks("TablesCesarv1.0.xls").Activate
                Worksheets("Sheet1").Activate
                Me.ListSources.AddItem Range("C" & j).Value
            End If
        Next j
        
End Sub




Merci d'avance, Bonne soirée ! :)

4 réponses

Julistage Messages postés 29 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 19 septembre 2014 3
15 nov. 2010 à 10:11
Bonjour à tous.

Petit up de ce post.
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
15 nov. 2010 à 11:24
Bonjour,

Je ne comprends par pourquoi tu alimentes ta ListBox à partir d'un autre fichier, alors que tu alimentes ta ComboBox à partir du fichier actif...

De plus, tu détermines la dernière ligne de la colonne C du fichier actif, et tu récupères donc les données de l'autre fichier????

Tu ne peux pas mettre toutes les données dans le même fichier?

Est-ce que les données de l'autre fichier, en colonne C, correspondent aux mêmes lignes que les données colonne A du fichier actif?

Bref, je pense que la meilleure méthode serait de regrouper les 2 lignes dans une feuille bien distincte...

Mais sans connaître les structures de tes 2 fichiers, difficiles d'en dire plus...

Bon courage
0
Julistage Messages postés 29 Date d'inscription lundi 20 septembre 2010 Statut Membre Dernière intervention 19 septembre 2014 3
15 nov. 2010 à 13:35
Bonjour Consinhub. :) Merci de t'être penché sur mon problème. J'ai résolu mon problème. En fait mes deux colonnes sont bien dans le même fichier, juste je n'ai pas penser à le préciser dans mon code.

 

Private Sub Userform_Activate()
..........................
..........................
..........................
 'Récupère les données de la colonne A...
 For j = 1 To Range("A65536").End(xlUp).Row
        ComboBox3 = Range("A" & j)
        '...et filtre les doublons
        If ComboBox3.ListInde x = -1 Then ComboBox3.AddItem Range("A" & j)
    Next j
End sub





 Private Sub ComboBox3_Change()
Dim j As Integer

Me.ListSources.Clear
   
        For j = 1 To Range("C65536").End(xlUp).Row
            If Cells(j, 1) = ComboBox3.Value Then
Me.ListSources.AddItem Workbooks("TablesCesarv1.0.xls").sheets("Sheet1").cells(j,3).value
            End If
        Next j
End Sub


Voilà un autre moyen d'arriver au résultat escompté. Le bout de code que j'ai présenté marche aussi. J'avais un soucis de tri alphabétique qui me faussait l'ensemble de la table. J'ai modifié ce problème et ça marche maintenant très bien.

Bonne journée à tous.
0
cousinhub29 Messages postés 969 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 28 novembre 2024 345
15 nov. 2010 à 14:13
Ok,

Tant mieux, Kennedy, (euh....)

Bonne journée
0