Affichage resultat du choix d'un menu en cascade

william68

XLDnaute Nouveau
Bonjour,

Hier Je cherchais a creer un userform sous VBA permettant de filtrer une base de donnees avec des listes imbriquees (comme des poupees russes).

Grace aux precieux conseils de certains d'entre vous je suis arrive a mes fins.

Voici le code que j'ai obtenu:

Private Sub UserForm_Initialize()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In [constructeur]
If Not MonDico.Exists(UCase(c.Value)) And c <> "" Then
MonDico.Add UCase(c.Value), UCase(c.Value)
End If
Next c
Me.ComboBox1.List = MonDico.items
End Sub
Private Sub ComboBox1_Change()
Set MonDico = CreateObject("Scripting.Dictionary")
Me.ComboBox2.Clear
For Each c In [marque]
If UCase(c.Offset(0, -1)) = UCase(Me.ComboBox1) Then
If Not MonDico.Exists(UCase(c.Value)) And c <> "" Then
MonDico.Add UCase(c.Value), UCase(c.Value)
End If
End If
Next c
Me.ComboBox2.List = MonDico.items
End Sub
Private Sub ComboBox2_Change()
Set MonDico = CreateObject("Scripting.Dictionary")
Me.ComboBox3.Clear
For Each c In [voiture]
If UCase(c.Offset(0, -1)) = UCase(Me.ComboBox2) Then
If Not MonDico.Exists(UCase(c.Value)) And c <> "" Then
MonDico.Add UCase(c.Value), UCase(c.Value)
End If
End If
Next c
Me.ComboBox3.List = MonDico.items
End Sub
Private Sub ComboBox3_Change()
Set MonDico = CreateObject("Scripting.Dictionary")
Me.ComboBox4.Clear
For Each c In [couleur]
If UCase(c.Offset(0, -1)) = UCase(Me.ComboBox3) Then
If Not MonDico.Exists(UCase(c.Value)) And c <> "" Then
MonDico.Add UCase(c.Value), UCase(c.Value)
End If
End If
Next c
Me.ComboBox4.List = MonDico.items
End Sub


Le menu fonctionne nikel.

Maintenant un doute subsiste je n'arrive pas a afficher le resultat de cette recherche.

Quelqu'un aurait la syntaxe qui me permettrait de faire ca?

Merci d'avance.:)
 

Discussions similaires

Statistiques des forums

Discussions
314 051
Messages
2 105 058
Membres
109 243
dernier inscrit
Erdnael