Combobox en cascade

car2

XLDnaute Nouveau
Bonjour à tous,
Je souhaiterai faire une macro me permettant de filtrer une base de données à l'aide dans un premier temps de selectionner à l'aide d'une combobox un critère se trouvant dans une colonnes (ex: société) choisie puis ensuite de refiltrer les données à partir de la deuxième colonne (ex: Nom). Ceci ne m'a pas posé de problème grace à l'aide du forum mais ce que je veux faire c'est récupérer les données non pas des deux critères choisie mais également des autres données de la ligne.
Est ce possible?
 

car2

XLDnaute Nouveau
Re : Combobox en cascade

Dsl j'ai pas pris encore la bonne habitude ;)
Alors voila je recommence lol


Ce code fonctionne correctement mais je ne sais comment récupérer les données liées aux colonnes C et D à partir de ce qui a été déjà choisie.
C'est peut être plus clair.

Merci


Voila mon fichier si vous avez le temps de jeter un pti coup d'oeil

Regarde la pièce jointe cascade.zip
 

Pièces jointes

  • cascade.zip
    23.7 KB · Affichages: 33
  • cascade.zip
    23.7 KB · Affichages: 32

pascal21

XLDnaute Barbatruc
Re : Combobox en cascade

bonsoir
ci-joint un petit classeur contenant des listbox en cascades (merci à thierry au passage)
tu pourras peut-être t'en inspirer
edit: je n'ai pas ouvert ton classeur alors je suis peut-être à coté de ce que tu veux
 

Pièces jointes

  • USF_ListBox_Cascade_Basic.xls
    36 KB · Affichages: 131
  • USF_ListBox_Cascade_Basic.xls
    36 KB · Affichages: 130
  • USF_ListBox_Cascade_Basic.xls
    36 KB · Affichages: 127

skoobi

XLDnaute Barbatruc
Re : Combobox en cascade

Bonsoir le fil,

un exemple avec le code du bouton "valider" modifié:

Code:
Private Sub CommandButton1_Click()

Dim L As Integer
Dim c As Range, firstAddress As String

Fe2.Activate

L = Fe2.Range("A65536").End(xlUp).Row + 1

If ComboBox1.ListIndex = -1 Then
MsgBox "Pas de Selection Societe", vbCritical, "Invalide"
ComboBox1.SetFocus
Exit Sub
End If
If ComboBox2.ListIndex = -1 Then
MsgBox "Pas de Selection Contact", vbCritical, "Invalide"
ComboBox2.SetFocus
Exit Sub
End If

With Sheets("Feuil2").Columns("A")
    Set c = .Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            If c.Offset(0, 1).Value = ComboBox2.Value Then
                With Sheets("Selections")
                  .Range("A" & L) = ComboBox1.Value
                  .Range("B" & L) = ComboBox2.Value
                  .Range("C" & L) = c.Offset(0, 2).Value
                  .Range("D" & L) = c.Offset(0, 3).Value
                End With
                Exit Do
            End If
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With

Nettoyage
End Sub
 

Discussions similaires

Réponses
28
Affichages
1 K
Réponses
69
Affichages
4 K
M
Réponses
9
Affichages
543
Maikales
M

Statistiques des forums

Discussions
312 836
Messages
2 092 640
Membres
105 475
dernier inscrit
ramzi slama