Fonction FILTRE sur plusieurs feuilles+ recherche multicritères

Bonjour à tous.

Malgré mes nombreuses recherches sur différents forum, je n'ai pas trouvé de réponse à mon problème...

Je vous expose le contexte :

Dans un fichiers Excel, je récupère une extraction de la base de donnée d'article de l'ERP de mon entreprise. La quantité d'information récupérée est plutôt grande (5 feuilles de 65000 lignes par 4 colonnes).

Pour éviter de devoir me connecter à l'ERP et d'effectuer mes recherches dans l'ERP (problème de nombre de licence disponible et de complexité de la recherche), je souhaite réaliser un outil de recherche dans le fichier Excel.

Ne maitrisant pas le VBA, je me suis tourné vers des formules Excel.

J'utilise une formule combinant les fonctions FILTRE(); ESTNUM() et CHERCHE() dont voici un exemple :

=TRIER(SI(OU($B$2<>0;$C$2<>0;$D$2<>0);FILTRE(VIS;ESTNUM(CHERCHE($B$2;ART_VIS))*ESTNUM(CHERCHE($C$2;DESI_VIS))*ESTNUM(CHERCHE($D$2;PLAN_VIS));"PAS DE RESULTAT");"RENSEIGNER LES CRITERES");1;1)

VIS étant le tableau de la première feuille (de mon fichier exemple). Les deux autres feuilles se nommant ECROUS et RONDELLE.

J'arrive a utiliser la formule ci-dessus pour chaque feuille séparément en la copiant dans des colonnes différentes, mais je n'arrive pas à réaliser une recherche dans toutes les feuilles en même temps pour n'avoir en sortie qu'un seul tableau...

Ce que je souhaiterai faire :

Dans le fichier exemple joint, je souhaite renseigner des critères dans les case en jaune (Article, Désignation et / ou plan)

J'aimerai obtenir en résultat un tableau unique (3 colonnes par X lignes) avec le résultat des recherches dans toutes les feuilles.

Question subsidiaire :

Est ce que c'est possible de faire une recherche multi critères dans une cellule ? Par exemple, si je cherche M20 et GALVA dans la désignation, j'aurai toutes les VIS, ECROUS et RONDELLES en M20 et GALVA.

6test-filtre.xlsx (21.67 Ko)

Bonjour à tous,

Et....

En vous inscrivant à Insider canal Bêta, vous disposerez de la fonction VSTACK qui vous permet d'assembler des tableaux.

Dans votre cas, et après insertion des tableaux structurés adéquats, la fonction retourne le tableau suivant :

image

EDIT : Power Query peut aussi produire ce même tableau !

Bonjour et bienvenue sur le forum

Bonjour à tous

Un essai à tester.

Bye !

Bonjour,

Merci à tous les deux pour votre retour.

@JFL, je suis passé par Power query (que je ne connaissais pas), j'ai un peu galéré mais j'ai fini par y arriver. J'arrive donc à assembler mon tableau en un seul et j'effectue ma recherche sur ce tableau unique. il me reste donc à trouver un truc pour effectuer une recherche multicritères dans ce tableau (plusieurs critères par colonne).

@GMB, je ne comprend pas trop ce que tu as fais, quand j'ouvre ton tableau je n'ai aucune formule dedans et la macro présente ne semble pas fonctionner... Est ce que je dois faire qqch de spécial pour que ça marche ?

Bonjour à tous,

La fonction VSTACK ne vous tente pas ? Si c'est l'inscription au programme Insider qui vous rebute c'est dommage ! Cette fonctionnalité devrait être accessible à tous les 365 et + dans quelques semaines (mois ?).

Sinon, en passant par Power Query, vous chargez le tableau combiné dans votre classeur et après adaptation de votre formule initiale, vous devriez obtenir le résultat escompté.

Bonjour

Bonjour à tous

... la macro présente ne semble pas fonctionner...

Curieux...sur mon PC elle semble bien fonctionner : il suffit de remplir la zone de critères.

A chaque validation, le filtre se met à jour :

sans titre v sans titre v2

Bye !

Bonjour,

@JFL, ce n'est pas que la fonction ne me tente pas, c'est juste que comme je suis sur le PC du boulot, j'ai eu peur d'avoir des problèmes de droit d'installation ou autre... J'ai préféré me contenté de la fonctionnalité déjà présente et ça fonctionne très bien pour mon besoin.

@GMB, le résultat que vous me montrez et finalement le même que celui que j'ai avec la formule:

=TRIER(SI(OU($B$2<>0;$C$2<>0;$D$2<>0);FILTRE(VIS;ESTNUM(CHERCHE($B$2;ART_VIS))*ESTNUM(CHERCHE($C$2;DESI_VIS))*ESTNUM(CHERCHE($D$2;PLAN_VIS));"PAS DE RESULTAT");"RENSEIGNER LES CRITERES");1;1)

ce que je souhaiterai, c'est par exemple dans la colonne Désignation faire une recherche sur VIS et ZINGUEE (par exemple *VIS*ZINGUEE*). Il faut imaginer que dans mon fichier source j'ai plus de 300 000 lignes, les articles sont codifiés avec 9 chiffres découpés en 4 parties (type de fabrication, famille de produit, sous famille de produit et numéro filant). Rien que pour les vis, j'ai plus de 2500 références...

Bonjour à tous,

Une contribution Power Query avec différents tris :

Bonjour à tous

Nouvelle version.

Bye !

Merci beaucoup à tous les 2.

La macro VBA de GMB correspond a ce que je souhaite faire. Je vais me creuser un peu la tête pour essayer de l'appliquer à mon fichier final.

Encore merci pour votre aide !

Je laisse le sujet encore ouvert quelque jour le temps d'essayer d'appliquer la macro, j'aurai peut-être (surement) besoin d'aide pour la modifier !

Bonjour à tous,

Je vous remercie de ce retour.

Bonne mise en œuvre VBA !

Rechercher des sujets similaires à "fonction filtre feuilles recherche multicriteres"