Filtre avec plusieurs combobox

OUIZEMANN

XLDnaute Junior
Bonjour à tous,

Je suis à la recherche d'une macro qui me permet d'affiner les filtres d'une combobox par rapport aux autres.

Je m'explique, le résultat filtré de la 1ère combo1 doit me permettre de filtrer la combo2 puis la combo3.

En effet, j'ai trouvé le moyen de filtrer ma liste, mais les combobox me remettent toute la liste sans tenir compte du filtre de la précédente combo.

Dans mon exemple si je sélectionne PARIS dans la combo 1, je dois voir que 75 dans la combo2 et ainsi de suite et non toute la liste.

Ensuite je veux pouvoir visualiser sur la listbox le résultat.

Je vous adresse en pièce jointe un exemple de ce que je recherche.

Merci par avance de votre aide.
 

Pièces jointes

  • COMBOBOX.xls
    45 KB · Affichages: 68
  • COMBOBOX.xls
    45 KB · Affichages: 63
  • COMBOBOX.xls
    45 KB · Affichages: 58

Dranreb

XLDnaute Barbatruc
Re : Filtre avec plusieurs combobox

Bonjour.
J'ai pu ré-ouvrir ma pièce jointe aussi. Qu'est-ce que je peux faire ? C'était fait à partir du vôtre. Voulez vous que je copie tout dans un nouveau classeur ?

Le code de l'userform:
VB:
Option Explicit
Dim WithEvents CBC As ComboBoxCasc

Private Sub UserForm_Initialize()
Dim N As Long
Set CBC = New ComboBoxCasc
CBC.Plage Feuil1.Rows(2).Resize(Feuil1.[A65536].End(xlUp).Row - 1)
For N = 1 To 6: CBC.Add Me.Controls("ComboBox" & N), N: Next N
CBC.Actualiser
End Sub

Private Sub CBC_Bingo(Lignes() As Long)
Dim T() As Variant, N As Long, L As Long, C As Long
Me.ListBox1.Clear
T = CBC.PlgTablo.Resize(, 6).Value
For N = 1 To UBound(Lignes)
   L = Lignes(N)
   Me.ListBox1.AddItem T(L, 1)
   For C = 2 To 6: Me.ListBox1.List(N - 1, C - 1) = T(L, C): Next C
   Next N
End Sub

Private Sub CBC_Défait()
Me.ListBox1.Clear
End Sub
Et je joins les modules à importer.
Ajoutez aussi la référence "Microsoft Scripting Runtime"
À +
 

Pièces jointes

  • ComboBoxCasc.zip
    14 KB · Affichages: 36
  • ComboBoxCasc.zip
    14 KB · Affichages: 39
  • ComboBoxCasc.zip
    14 KB · Affichages: 52
Dernière édition:

OUIZEMANN

XLDnaute Junior
Re : Filtre avec plusieurs combobox

Bonjour,
Merci beaucoup, j'ai fait tout ce que vous m'avez indiqué mais j'ai une erreur en lançant l'userform ("erreur 70, Permission refusée").
Je vous renvoi le fichier qui tient compte de vos remarques.
Pouvez-vous me dire ce qui ne va pas ?
Merci par avance pour votre aide.
A +
 

Pièces jointes

  • COMBOBOX2.xls
    167 KB · Affichages: 98

Dranreb

XLDnaute Barbatruc
Re : Filtre avec plusieurs combobox

Exact, j'ai oublié de préciser: nettoyez les propriétés RowSource dans la fenêtre de propriété pour tous les ComboBox et la ListBox aussi d'ailleurs.
À +
 
Dernière édition:

OUIZEMANN

XLDnaute Junior
Re : Filtre avec plusieurs combobox

Cela fonctionne à merveille.
Merci beaucoup pour le temps que vous m'avez consacré et bravo pour le travail accompli, car je ne pensais pas que la macro état aussi complexe pour faire çà.
A bientôt et bon week-end.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Filtre avec plusieurs combobox

Bonjour,

Choix dans un ordre QQ & optionels

Voir PJ

JB
 

Pièces jointes

  • FormCascadeOrdreQQ1.xls
    60.5 KB · Affichages: 87
  • FormCascadeOrdreQQ1.xls
    60.5 KB · Affichages: 80
  • FormCascadeOrdreQQ1.xls
    60.5 KB · Affichages: 95
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Filtre avec plusieurs combobox

Si le choix en ordre quelconque vous intéresse (mais j'ai bien relu la demande plusieurs fois, ça ne semblait pas être le cas), j'ai aussi un module de classe ComboBoxLiés. La programmation dans l'userform changerait fort peu. Un bouton pour effacer tous les ComboBox serait cependant souhaitable (méthode Nettoyer)
 
Dernière édition:

Discussions similaires

Réponses
69
Affichages
4 K

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 565
dernier inscrit
Fabien78