Autres XL2007 : multi filtre sans doublons

erics83

XLDnaute Impliqué
Bonjour,

Comme toujours, ça a l'air simple, mais....
Je souhaite filtrer une BD et avoir les résultats qui s'affichent dans une listbox et/ou feuille, un peu comme l'exemple de JB dans "Filtre 1 à 6 critères choisis dans le désordre".
1591353091240.png

Mais naturellement, je n'y arrive pas...d'où ce post.....

Donc, un USF qui permet d'afficher les filtres (sans doublons), et au fur et à mesure des filtres (non conditionnels entre eux), le résultat (=la BD des références) s'affiche dans la listBox et/ou dans une feuille....et donc de lister les références en fonction des filtres...

Merci pour votre aide,
 

Pièces jointes

  • Classeurtestlistescombobox.xlsm
    62.7 KB · Affichages: 9
Dernière édition:

erics83

XLDnaute Impliqué
Merci JHA,

Effectivement, parfois le plus simple, c'est de passer par les formules.....Merci

Par contre j'ai un soucis avec la plage "Plage", car je souhaiterai la mettre en fonction de ma BD (qui dépasse les 60000 lignes), mais "impossible" de modifier :
1591361576395.png

car grisé....et impossible de "modifier"....
Un détail qui m'échappe ?

De plus, est-il possible de lister dans une feuille les résultats ?

Merci pour votre aide,
 
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

"Plage" est le nom du tableau voilà pourquoi la formule est grisée.
Oui, le filtre avancé peut être mis dans une autre feuille.

Pour 60000 lignes, la solution proposée n'est pas très viable, cela va être trop long.
j'espère que les pros du code vont te donner un petit coup de pouce.

JHA
 

erics83

XLDnaute Impliqué
Merci JHA,

Effectivement, avec les formules, c'est un peu plus long....c'est pourquoi j'étais allé voir du côté de JB et d'essayer de reproduire son code, car....très très rapide....Mais merci car effectivement, les formules peuvent être une très bonne solution, et merci aussi pour la formule qui donne la liste sans doublons...très utile et que je vais vite re-utiliser dans 2-3 fichiers...

Merci pour ton aide

Et comme tu disais, pourvu qu'un pro du code puisse m'aider.....

Merci,
 

erics83

XLDnaute Impliqué
Bonjour cp4,

Effectivement, avec le lien ce sera plus simple .... c'est ici :

lien vers le site de JB, puis

dans le menu :

1591369250392.png


1591369074476.png


c'est ce fichier que j'essaye de reproduire....mais comme je ne suis pas un "pro" du code, je n'arrive pas à le reproduire et/ou prendre juste les sub qui pourraient m'intéresser.....
Donc, j'ai juste repris le style de l'USF, mais je n'arrive pas à reproduire/ré-utiliser le code de JB....


Merci pour votre aide,
 

erics83

XLDnaute Impliqué
Merci Mapleosaure,

Oui, c'est la même base que le fichier que j'essaye de reproduire... :
1591373049433.png


Mais....je n'arrive pas à comprendre le code....trop "évolué" pour mes faibles connaissances VBA...par exemple je vois dans l'USF qu'il y 6 combobox, mais seules 3 s'affichent et je ne vois pas à quel moment elles apparaissent...
En fait, c'est effectivement ça que je cherche (cf mon classeur essai) : des filtres à sélectionner et qui affiche directement le résultat...un peu comme la fonction "FILTRE" en fait....

Merci pour ton aide,
 

erics83

XLDnaute Impliqué
Merci Chti160,

Whaou, Je pensais que ça allait être plus simple au niveau codage.....merci pour ce résultat !!

Je ne pensais pas qu'il fallait passer par un module de classe, et autant de variables, lignes de codes, etc....
En tout cas, cela fonctionne super !!

Mais je pense qu'il va me falloir de nombreuses soirées et/ou échanges pour que je"comprenne" le code...
Et comme je me dis toujours : ça a l'air d'être simple, mais ....pas si simple en fait....lol
Merci !
 

cp4

XLDnaute Barbatruc
Bonjour Eric83:), ChTi160;),JHA;),

J'ai fait un peu de ménage, vois si ça te convient (tu peux supprimer toutes les lignes en vert).

edit: @Mapleosaure bonjour, désolé pas vu ton post:)
 

Pièces jointes

  • Eric83_listescombobox.xlsm
    71.7 KB · Affichages: 15
Dernière édition:

Mapleosaure

XLDnaute Nouveau
Bonjour Eric83
Dans le code du fichier de JB...

ColCombo = Array(1, 2, 4, 14) ' A adapter (1 à 6 colonnes maxi)
colVisu = Array(1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) ' Colonnes ListBox (à adapter)

Le ColCombo correspond aux 6 combobox en affichage en stipulant les colonnes de la BD
exemple pour 3 Combox recherchant les colonnes 3,6,9
ColCombo = Array(3, 6, 9 )
pour 6 Combobox recherchant les colonnes 3,4,5,6,7,8
ColCombo = Array(3, 4, 5, 6,7,8)

le colVisu reprend les colonnes a visualiser dans la listbox
exemple visualisation de seulement les colonnes 5,8,9
colVisu = Array(5, 8, 9)

Bonne continuation
 

erics83

XLDnaute Impliqué
Bonjour et Merci Mapleosaure,

Merci pour ces explications qui me permettent d'essayer de mieux comprendre le code de JB ;),et je vois à quel point il me reste encore beaucoup de chemins et d'essais avant de pouvoir atteindre cette perfection....

Bonjour et Merci cp4,
Merci d'avoir enlevé les lignes et procédure qui n'étaient pas "utiles" dans mon exemple....Par contre, je m'accroche pour comprendre et essayer de re-utiliser le code, mais je bute sur un détail (pour vous) : mettre la liste des références sélectionnées dans une feuille...j'ai essayé
VB:
 '---------If n > 0 Then
     '---------Me.ListBox1.Column = Tbl
     For k = LBound(TabBD) To UBound(TabBD)
        Feuil2.Cells(k, 1) = TabBD(k, 7)
    Next k
 '-----------' Else
 
 J'ai essayé aussi avec Tbl(k,7)
Mais cela ne fonctionne pas...

et petite question : pourquoi avoir mis "28 à 34" dans la cellule AK4 ? essai ou indicateur ?

Merci pour votre aide,
Eric
 

Discussions similaires

Réponses
69
Affichages
3 K
Réponses
15
Affichages
480