filter listbox avec plusieurs combobox

ZZR09

XLDnaute Occasionnel
Bonsoir le Forum,

J'ai récupéré il y quelques temps deux interfaces permettant de filtrer une listbox à partir d'une TextBox.Merci Hervé et Thierry.

Je voudrais filtrer cette Listbox avec pusieurs ComboBoxs.
En fait, avant l'interface de filtrage récupérée, j'ai rajouté une interface de paramètrage de 1 à 9 comboboxs. Cette interface a été supprimée pour zipper à moins de 50ko (elle n'est pas nécessaire ici)

Je comprends bien que Hervé filtre en créant un tableau mais, après plusieurs essais je n'ai pas réussi à faire ce que je veux :
Filtrer la listBox après chaque sortie d'un ComboBox. (Je sais paramètrer l'événement Exit)
En fait, je n'arrive pas à créer le tableau (Array) et je ne sais pas non plus gérer les listboxs à plusieurs colonnes.

Cela fait quelques heures que je rame entre l'aide et les différents tableaux que l'on peut trouver sur ce sîte (Tablo, tabtemp, array, collection etc). et très franchement je suis un peu perdu.

Si quelqu'un maitrise ou connaît bien ces petites bêtes là, je suis preneur de tous conseils ou toutes solutions.

MErci à tous ceux qui liront ce message et à ceux qui tenteront quelque chose ... ne serait-ce qu'une méthode, un conseil !

A+
[file name=MultiFiltr_1_04.zip size=41104]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MultiFiltr_1_04.zip[/file]
 

Pièces jointes

  • MultiFiltr_1_04.zip
    40.1 KB · Affichages: 129
B

bebere

Guest
bonjour Zzr,le Forum
j'ai compris ce qui suit
tu fais un choix ds une des combobox et
la listbox affiche les données correspondantes à ce choix
ce que je ne comprends pas c'est que les données combobox
viennent d'un tableau et les données de la listbox d'un autre
sans doublons
à première vue ce devrait être les combobox qui devrait être
alimentée par ce tableau sans doublons et la listbox par l'autre
j'attend confirmation
je continue ds le sens que j'explique plus haut
à bientôt
 

ZZR09

XLDnaute Occasionnel
Bonjour Bebere, le forum,

Merci pour t'être penché sur ce problème.
Voici quelques précisions :

Au départ, j'ai une base de données dont le ombre de champs est variable (de 4 à 21 champs).
Je voudrais filtrer ces champs selon un nombre de critères variable (de 1 à 9 critères = de 1 à 9 ConboBoxs).
Les 9 champs filtrés ne sont pas toujours les mêmes. C'est pourquoi j'ai une interface qui permet de nommer les champs, de sélectionner et classer ceux qui serviront au filtrage. Cette interface fonctionne avec une extraction sans doublons des valeurs contenues dans la feuille 'Dates 2005 - 2006' dans une feuille 'Temp'.
LEs 9 ComboBoxs sont initialisés via RowSource dans cette feuille 'Temp'.
Je précise que cette interface fonctionne, elle a été supprimée pour simplifier ma question. :whistle:

L'utilisateur pourra donc filtrer la base de données (Feuille 2) avec les 9 ComboBoxs (il y en a un peu moins dans mon fichier joint). Les Comboboxs n'ont pas de doublons alors que la base de données pet en avoir.

Le listeBox correspond au récapitulatif de la base de données filtrée.

Au début, j'ai essayé de fonctionner avec les filtres automatiques, commandés par des macros mais ça n'a pas fonctionné; je me suis rabattu sur la création de listes.

J'espère avoir été plus clair que la première fois. Et encore merci pour le temps que tu passes sur cette question (c'est pas évident de retrouver la logique d'un code qui a été fait par quelqu'un d'autre !)

A+
:)
 
B

bebere

Guest
rebonjour
petit conseil,lorsque tu crées une base de données
mets des entêtes de colonne,comme cela quand tu veux trier,filtrer
tu mets le curseur sur cette ligne et excel fais le reste après tes choix
à part ce qu'il y a en A2:E21 je ne vois pas de base de données
sur feuil2
confirme si j'alimente les combobox avec les données de la feuille temp
à+ :)
 

ZZR09

XLDnaute Occasionnel
Re,

Je confirme l'alimentation des ComboBoxs avec la feuille 'Temp'. :)

Merci pour le conseil concernant les bases de données. Dans la version originale, il y a un bouton qui fait toute la largeur de la feuille et qui est sur la première ligne.
c'est d'ailleurs peut-être pour ça que mes filtres commandés par macro n'ont jamais fonctionné :unsure:

La base de données est bien la feuil2. je l'ai réduite pour la question, la base de donnée réelle est beaucoup plus importante et ne correspond pas du tout à ce genre de renseignements. C'est juste pour avoir de la matière à traiter.

Si tu veux voir le fichier complet, je peux te l'envoyer par mail.

A+
et encore merci
;)
 
B

bebere

Guest
bonsoir Zzr
choisi des données qui existe ds les 2 feuilles
sinon tu auras des erreurs
listbox1 choix colonne tri
listbox2 choix critère de tri
après choix listbox2 bouton valider
listbox3 le résultat
utiliser le bouton quitter (désactive le filtre)
après essais commentaires et suggestions
tu reconnaitras en partie du code de Thierry
à bientôt :huh: [file name=MultiFiltrV1.zip size=45335]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MultiFiltrV1.zip[/file]
 

Pièces jointes

  • MultiFiltrV1.zip
    44.3 KB · Affichages: 195

ZZR09

XLDnaute Occasionnel
Salut Bebere,

Désolé pour tout ce temps sans nouvelles mais je rentre du boulot.

Merci beaucoup pour le travail effectué. J'aime bien l'idée de la listbox 1 permettant de filtrer les données sur la listbox 2.

Je tenterai de fignoler cette idée vendredi. (j'ai beaucoup de travail d'ici là et je ne pense pas avoir beaucoup de temps pour moi (je recommence dès 5h demain).

Chez moi ça bug dès que je clic sur 'valider' ça fonctionne sur la listbox 1. il faut que je vois comment prendre en compte les vides ou éventuelles erreurs.

C'est déjà super comme ça, je pense que l'on va arriver à quelque chose d'ici peu de temps

Merci beaucoup pour le temps passé sur ce problème, je ferai un signe j'aurrai eu le temps de décortiquer le contenu
A+
;)
 

Bebere

XLDnaute Barbatruc
bonjour Zzr
ajouter une routine test si existe ou pas
normalement pas besoin,les données sans doublons venant de la base
tjrs prêt pour de nouvelles aventures
à bientôt :) [file name=MultiFiltrV2.zip size=46929]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MultiFiltrV2.zip[/file]
 

Pièces jointes

  • MultiFiltrV2.zip
    45.8 KB · Affichages: 190

ZZR09

XLDnaute Occasionnel
Bonjour Bebere,

Je ne comprends pas pourquoi il bug sur cette ligne

Code:
Set R = W.Range(Cells(3, 1), Cells(NbLign, NbCol))  'tableau de x lignes et x colonnes'

sachant que je clic sur prénom de la listbox1, je sélectionne un prénom dans la listbox2 existant réellement puis, sur valider.
C'est une ligne de commande de la macro 'valider' qui bug.

les variables lignes et commande sont pourtant chargées.

D'autre part, pourquoi utiliser Set R= ?
Je ne comprends pas trop pourquoi et à quel moment on utilise cette commande 'Set' :eek:

A+
 

Bebere

XLDnaute Barbatruc
bonjour Zzr
j'ai bien essayé 10 fois ce matin pas de bug
essai après t'avoir lu et bug
déjà eu le cas je vais chercher une autre solution sans cells
set r (r déclaré as range) tu travailles avec un filtre il faut un objet
j'ai mis une autre version ce matin
sitôt que j'ai du nouveau je l'envoye
à+ ;)
 

ZZR09

XLDnaute Occasionnel
Re,

j'ai 1/2 heure devant moi, je vais regarder un peu. ce qui m'étonne le plus, c'est qu'il bug sur la méthode Range. D'autant plus que les deux cells sont bien chargées.

Quel est l'avantage de déclarer R comme un objet ? ( je comprends bien Dim R as Range).

A+
 

Bebere

XLDnaute Barbatruc
re

les 2 lignes à changer
ColLet = Left$(Cells(8, NbCol).Address(0, 0), (Cells(8, NbCol).Column < 27) + 2)
Set R = W.Range('A3:' & ColLet & NbLign) 'plage de x lignes et x colonnes

tu devras regarder à la correspondance des entêtes
de tes doublons et de ta base

à+
:huh:
 

ZZR09

XLDnaute Occasionnel
Bonsoir Bebere,

je rentre juste du boulot,

je viens de regarder mais je n'ai pas trouver où placer ces lignes, je vais regarder demain matin, je serai un peu plus frais.

Merci beaucoup pour tout le mal que tu te donnes.

A bientôt
;)
 

ZZR09

XLDnaute Occasionnel
Bonjour Bebere, le forum

Super nickel, ça fonctionne.
je vais faire quelques modifs pour que la sélection se fasse par double-clic.

en ce qui concerne l'ordre des colonnes d'entête, j'utilise une boucle Fro Each j classant les champs en repérant le numéro de leur colonne. il y a des réctifications à faire là dedans mais ça, ça me prendra un peu de temps mais je sais le faire.

Merci pour tout,
je joindrai sur ce fil les évolutions, si ça t'intéresse et pour ceux qui l'auraient suivi.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise