Double Filtre avec une ListBox

Bonjour,

Je suis en panne sèche sur la réalisation d'un double filtre avec un affichage sur une ListBox.

Dans le fichier joint ci-dessous vous trouverez un bouton "Suivi IM36002". Celui-ci ouvre un USF contenant une ListBox, des boutons et des ComboBox.

J'ai réussi à réaliser un filtre unique en fonction de certaines variables : Disponible / Indisponible, Date, Service, Famille. Ce que je souhaiterais c'est pouvoir corréler les variables entre elles (Année avec Service ; Service avec Famille ; Année avec Service avec Famille, etc).

Pouvez-vous m'aider ?

En vous remerciant par avance !

Romain.

192022-im36002.xlsm (57.59 Ko)

Bonjour,

Bah déjà vous utilisez Rowssource... Comme écrit des dizaines de fois, il faut éviter cette instruction et lui préférer la méthode ADDITEM ou LIST

Donc à voir si vous voulez changer ou pas

Crdlt

Bonjour Dan,

C'est exact, j'ai utilisé le RowSource pour les filtres Années, Service et Famille afin de ne pas écrire et que ce soit sélectif.
Mais je souhaite réaliser un filtre à l'aide de liste déroulante mais n'utiliser qu'un seul bouton.

Par exemple, utiliser la liste déroulante Année et la liste déroulante Service puis lancer le Filtre.

J'avais compris ce que vous voulez
De mon coté je n'utilise jamais rowssource. Comme je vous ai écrit j'évite cette instruction
Je peux vous proposer autre chose moyennant quelques modifications

Deux solutions peuvent être envisagées :
- on crée une deuxième listbox pour y mettre les titres des colonnes de la listbox1
- on remplace la listbox par une listview

La solution 1 étant plus simple car la listview implique de revoir les codes actuels mais vous permet de trier les données en cliquant sur les entetes de colonne

Votre avis ?

Je préférerai conserver mon code et partir sur la solution 1 avec l'ajout d'une ListBox. De plus je pourrais l'utiliser dans de futur fichier du même type.
Je ne vois pas du tout comment faire

Après il est vrai qu'avec une ListView j'ai plusieurs possibilités notamment la mise en couleur en fonction d'une donnée, mais je ne maitrise pas du tout les codes pour la ListView.

Je suis resté sur la listbox comme précisé hier dans votre post

Par contre j'ai une question, lorsque vous ouvrez l'USF, elle est actuellement vide de données. Ce sont les choix des boutons dispo et indis qui la complète
Est-ce que cela vous gêne si à cette ouverture la listbox contient la totalité des données de votre feuille ?

Bonjour Dan,

Tout d'abord merci pour votre aide !

Non aucun souci, cela permet de supprimer le bouton "TOUT"

Boniour,

Non aucun souci, cela permet de supprimer le bouton "TOUT"

Non on le laisse cela permet de réinitialiser le tout

Par contre j'ai besoin d'une info concernant les choix annee, famille, service.
Est-ce que cela suppose que vous cliquez au préalable sur un des boutons "disponible" ou "indisponible" ? si oui, il faut vider les 3 combo au préalable

Si il est possible de réaliser un filtre de plusieurs variable grâce à l'ajout d'une deuxième ListBox, les boutons Disponible et Indisponible peuvent être supprimés.

Ces boutons me servent à réaliser un premier filtre, mais je me suis aperçu que tout s'affichait et donc que je ne voyais pas forcément les éléments à la date actuelle au premier regard, c'est pourquoi j'ai ajouté ce filtre par année, puis par service, puis par famille.

Non je trouve cela pas mal
Mettons que je voyais ceci, vous cliquez sur le bouton Disponible ou indisponible,
Ensuite vous faites votre choix année, service, famille dans l'ordre que vous avez positionné vos combo

en gros, si vous cliquez sur disponible ou indisponible, cela videra toujours les 3 combox

Effectivement, cela permettrait un pré-filtre.

Ok. Dans le projet :

- Les boutons disponibles, indisponibles et tout voir vident les 3 combo
- vous n'aurez plus besoin de votre tableau à droite colonne K et suivantes
- vous pourrez choisir en fonctionne des combox séparément ou après les choix dispo ou indispo

C'est bon cela ?

Sur le papier ça à l'air bon, il faudrait que je teste pour vous en dire plus.

Voici votre fichier (très joli d'ailleurs !)

Tous les boutons fonctionnent toujours
A l'ouverture vous avez la liste complète et vous pouvez directement faire un choix dans les 3 combo.
Par contre, dès que vous cliquez sur dispo, indispo ou tout voir, les 3 combo sont vidées et la liste est ré-affichée selon le choix dispo, indisp ou tout voir
Une fois les combo vidées vous pouvez cliquer sur Dispo, indipo et refaire un choix dans les 3 combo

NB :
- tous les codes sont modifié. le tableau de droite est supprimé
- tous les rowssource dans cette userform sont supprimés (ce serait bien de faire aussi sur l'autre aussi)

Si ok et terminé, pensez à

282022-im36002-2.xlsm (54.90 Ko)

Edit : pensez à modifier ceci dans le module

Sub Ouvrir_FormulaireSuiviIM36002()
Load frm_SuiviIM36002
frm_SuiviIM36002.Show
End Sub

Merci pour votre aide, c'est exactement ce que je cherchais à faire.
Je dois avouer que je n'y comprends pas grand chose au nouveau code, mais je vais essayer de le comprendre.

Pouvez-vous juste me dire la fonction de UCase ?

je n'y comprends pas grand chose au nouveau code, mais je vais essayer de le comprendre.

A votre dispo, n'hésitez pas à demander si vous avez besoin de comprendre.

Pouvez-vous juste me dire la fonction de UCase ?

Cette instruction met ce que vous cherchez en majuscule.

Bonjour Dan,

Je reviens vers vous pour un petit soucis avec le multi-filtre.

J'ai adapté mon code à un autre fichier (cf. PJ) et celui-ci ne fonctionne pas, du moins il ne fonctionne pas lorsque que j'ajoute des colonnes à ma ListBox de titre et ma ListBox de Recherche.

J'ai bien évidemment changer les noms attribués à mes ComboBox et Bouton de commande mais ça ne fonctionne pas. Pouvez-vous jeter un oeil au code et me dire ce qui ne va pas ?

En vous remerciant par avance.

172022-cvpo-2.xlsm (39.68 Ko)

Bonjour,

Oui c'est normal car une listbox (lst_titres) ne peut pas contenir plus de 10 colonnes en utilisant la méthode LIST
Donc là soit vous limitez les lisbox à 9 colonnes ou on revoit le code complètement ou vous passez en listview mais l'un dans l'autre il faut changer

Dites moi

Cordialement

Quelle serait la technique la plus simple et efficace ?

J'ai regardé un peu les ListView et je vous avoue que je ne connais pas du tout mais pourquoi pas partir là dessus, si ce n'est pas trop compliqué à réaliser.

Rechercher des sujets similaires à "double filtre listbox"