Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Filtre Unicritères

TCHIS

XLDnaute Occasionnel
Bonsoir à tous et à toutes.
Je suis débutant sur Excel et actuellement dans le cadre d'un projet de fin d'étude je développe un outil pour cela.
Depuis des jours je suis confronté à un réel souci concernant la fonction de recherche dans un ListView.
Pas mal de solution m'ont été proposé mais aucune ne répond au problème.

Ce n'est pas de filtre multicritère dont il faut mais bien de filtre sur un critère meme si il y a au total 10Critères.
Le souhait est que dès qu'on finit de saisir dans une textBox de filtre, la listview automatiquement présente les données filtrées dans appuyer par un boutons quelconques.
Et que le bouton réinitialiser supprime tous les filtres appliqués sans distinctions.

Enfin un label (en bleu) donnera le Nombre d'enregistrement.

ça fait beaucoup de point j'en suis conscient mais vraiment c'est très urgent car j'ai perdu une semaine rien que pour pouvoir avoir cette fonctionnalité.

Merci d'avance à tous ceux qui pourrons m'apporter ce qu'ils pourront.

Ci-dessous vous avez le fichier sur lequel je travail.

Le USF concerné est celui appelé USF
 

Pièces jointes

  • TCHIS.xlsm
    71.3 KB · Affichages: 6
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello

Pas mal de solution m'ont été proposé mais aucune ne répond au problème.

je pense plutot que tu n'as pas su adapter à ton besoin

de mémoire (et j'ai vérifié), je t'avais proposé une solution qui te permettait de choisir jusqu'à 4 critères (tu en voulais jusqu'à 10 il me semble puique 10 colonnes

et au fur et à mesure que tu saisis le texte dans le textbox, la listview est filtrée

 

vgendron

XLDnaute Barbatruc
C'est quand meme plutot gonflé de ta part..
j'ai pour habitude de mettre des commentaires dans le code que je procure
et quand on ouvre ton fichier, on y voit déjà beaucoup de code (plutot avancé: il y a meme un module de classe !!)==> on en déduit donc que tu connais déjà le vba

au vu de ton dernier commentaire.. on peut donc en déduire que finalement tu n'es pas du tout à l'origine du code déjà présent
et ca.. ce serait plus honnete de le dire
 

TCHIS

XLDnaute Occasionnel
Ecoute tu as essayé de m'aider je t'en remercie

Tous ces codes VBA dont tu parles c'est moi qui les ai appliqués mais copiant de bout de code à gauche et à droite et en les adaptant à mon besoin.

Tu n'as pas à t'emporter de la sorte

Ton code il marche oui mais pour que je l'adapte à mon besoin il me faut le comprendre et sur ce point je suis resté bloqué car comme je te l'ai dit cela ne fait qu'un mois que je suis lancé au VBA.

J'espère juste de l'aide vraiment s'il vous plait
 

vgendron

XLDnaute Barbatruc
tu as tous les éléments !
le code associé au combobox pour charger les critères ==> si tu n'en veux qu'un, et bah, tu supprimes le combo et tu le remplaces par LE critère en dur dans le code
et le code associé au textbox pour le filtrage de la liste
 

vgendron

XLDnaute Barbatruc
Bonjour

Il va falloir clarifier certaines choses (et surement ajuster le vocabulaire utilisé pour décrire ton souci)
et faire le trir

Dans la version de l'autre post (https://excel-downloads.com/threads/filtrer-un-listview.20074603/#post-20570273)
tu souhaitais pouvoir choisir la ou les colonnes de filtre:
sur le formulaire "UserfrormOpen"

je t'ai mis 4 Combobox (=liste déroulante) qui sont alimentés par les noms de colonnes de ton tableau
ces 4 combobox permet de selectionner chacun un critère de filtre
les combobox sont alimentés dans le Userform_Initialize

à chaque combobox est associé un Textbox (= boite de saisie de texte)
lorsque l'utilisateur saisit du texte (=Ecrit) dans ces textbox, une macro "Recherche" est lancée pour filtrer la listview

maintenant, dans ton nouveau fichier, posté dans ce fil
les 4 combo ont disparu et ont été remplacés par 10 autres combo "F_Année /F_Mois...."

je vois que tu les remplis (à part F_Année) dans l'initialize "en dur" sans passer par des listes situées sur une feuille excel==>à mon avis, ce n'est pas une bonne idée==> le jour où tu auras besoin d'ajouter un motif ou un site.. tu seras obligé de modifier le code
La feuille "Listes" que j'avais créée était faite pour ca

Comment comptes tu remplir le combo "F_Année" ??

puisqu'il n'y a plus de Textbox, j'en déduis que tu souhaites que la listview soit filtrée au fur et à mesure de la "SELECTION" dans les combo.. (il ne s'agit pas de Saisie)
il faut donc que tu affectes la macro "Recherche" aux Combo..


PS: je vois un autre formulaire "USF" sur lequel les combo sont remplis sans doublon

De quel formulaire faut il parler?? il y en a partout !
 

TCHIS

XLDnaute Occasionnel
D'abord Merci de t'y pencher

Le UserForm concerné est celui nommé USF

Dans lequel il y a les 10 critères de filtres dont chacun correspond à une colonne dans le tableau située dans la feuille source et chaque critère à sa combobox qui présente les données à rechercher une fois celles-ci sont sélection (Par exemple pour le Critère Semaine dont la Combo associé est F_Semaine présente les données S07,S08,S09 et ainsi de suite c'est le même principe pour le reste).

Ce qui m'est demandé est que les filtres s'appliquent sur la Listview et elles doivent interagir entre elles (C'est-à-dire qu'on peut commencer par n'importe quel critère mais les prochains critères à filtrer s'appuieront sur les données présentés par le ou les filtre(s) précédant ainsi de suite).

Vous voyez un peu ce que j'essaye de représenter ?
 

vgendron

XLDnaute Barbatruc
il faut donc que tu ajoutes une macro qui
1) vide les combos
2) reremplit les combo sur la base des données DANS la listview

et cette macro est déclenchée après mise à jour de la listview

et il aurait fallu expliquer tout cela clairement dès le début. plutot que au fur et à mesure
 

TCHIS

XLDnaute Occasionnel
Oui tu as tout à fait raison.
Encore Merci j'espère vraiment un jour pouvoir atteindre un tel niveau de maitrise sur excel et aider un autre comme toi tu m'a aidé
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…