Appliquer automatiquement un filtre sur une liste

16test-extraction.xlsm (151.69 Ko)

Bonjour le forum,

Je ne sais pas comment faire un filtre sur une liste de données. Je m’explique. Dans le fichier joint je copie des informations issues d’une extraction (dans l’exemple j’ai simulé cette extraction dans l’onglet « info brute »).

Ensuite cette extraction je la modifie pour garder uniquement les colonnes qui m’intéressent et dans un ordre bien précis. Là la macro (raccourcie « t ») fonctionne très bien. Maintenant je souhaiterai qu’automatiquement il m’applique un filtre en colonne 27 pour me sélectionner des informations correspondant à une liste qui se trouve dans l’onglet « Filtre » et là je ne sais pas comment faire et si cela est possible. Point particulier il y aura forcément dans cette liste des noms qui ne sont pas dans la colonne 27 du fichier « Données importées » car elle représente toutes les infos qui peuvent me concerner et il peut même y avoir d’autres éléments qui viennent s’ajouter par la suite.

Par exemple après avoir copié dans l’onglet « Données importées » les infos issues du fichier extraction (dans l’exemple simulé par l’onglet « info brute » puis lancé ma macro « trie_données », je voudrais qu’un filtre en colonne 27 me sélectionne uniquement les éléments que l’on peut trouver dans l’onglet « filtre » et qu’ensuite il me crée un nouvel onglet appelé « Extraction filtré » avec uniquement ces données. Bien sûr si dans l’onglet « Extraction » il y a des données à l’intérieur, elles sont supprimées et remplacées par les nouvelles.

Je ne sais si j’ai été clair mais merci par avance à ceux qui vont prendre le temps de m’apporter une solution.

Cordialement.

Bonjour à tous,

Une proposition via Power Query ( complément à installer pour Excel 2010 et 2013 - Nativement intégré dans les versions postérieures).

A partir des données importées, Power Query retourne un tableau (avec les colonnes choisies, dans l'ordre désiré), les données ayant été filtrées.

Note : A priori, Power Query devrait pouvoir lire directement l'extraction, donc sans nécessité d'intégrer les données au préalable dans Excel.

Merci JFL pour ton retour rapide.

Je ne connais pas trop bien Power Query et je n'arrive pas à comprendre comment tu as fait pour faire le filtre uniquement sur les infos de l'onglet filtre et comment tu as pu supprimer et ordonner les colonnes.

J'ai bien vu l'onglet paramètre mais comment il est créé et surtout comme il impacte les infos importées et les filtres, cela reste mystérieux 😉

Bonjour de nouveau,

Vous ne connaissez "pas trop bien Power Query" ? C'est là une excellente occasion de débuter !

Il existe une multitude de tutoriels sur le net. Je vous invite à aller vous y promener. Le retour sur investissement est rapide....

Dans votre cas, l'idée est de charger dans Power Query, 3 tableaux structurés (vos données importées, la trame des colonnes désirées et enfin le filtre à appliquer).

Un clic droit sur le tableau retourné par Power Query, puis "Table / Modifier la requête" vous ouvrira la fenêtre de l'éditeur Power Query. Les différentes étapes appliquées à vos données figurent sur la droite de cette fenêtre.

merci de nouveau. Je sais importer un fichier dans power query mais importer une maquette et un filtre je ne l'ai jamais fait. Je regarderai demain quand je serai de nouveau avec le PC.

Merci encore pour ton retour mais si quelqu'un peux me donner également une solution en VBA ça me permettrait de voir deux solutions.

cordialement.

Bonjour

J'ai pu importer mon tableau brut avec Power Query mais par contre créer une trame des colonnes désirées et faire un filtre je ne sais pas comment m'y prendre. Si je fais un clic droit (cf. copie écran ci-dessous) je ne trouve pas "Table / Modifier la requête".

Cordialement.

image

Bonjour à tous,

Vous ne trouvez pas ? Regardez votre copie écran :

image

En développant le sous-menu Table, vous devriez trouver la porte d'entrée....

J'ai importé la source brute que j'ai dupliquée en supprimant et ordonnant les colonnes que je veux dans un onglet que j'ai appelé "données triées". J'ai importé les données correspondant au filtre à appliquer mais je n'arrive pas à mettre en relation cet onglet avec l'onglet "données triées" pour que le filtre s'applique. J'avance pas à pas.

Bonjour de nouveau,

Vous êtes-vous inspiré de la trame de ma proposition ?

L'idée est d'intégrer dans Power Query, 3 sources d'informations :

1/ Vos données brutes
2/ La liste des colonnes à conserver
3/ Les éléments servant à filtrer la colonne 27

Ensuite,

1/ Vous transformez la table colonnes à conserver en liste (voir les étapes de la requête)
2/ Vous éliminez les colonnes inutiles au moyen de la fonction Table.SelectColumns
3/ Vous fusionnez votre table avec la table filtre.
4/ Et..... c'est tout !

Le résultat final sera ensuite chargé dans Excel.

J'essaie mais je n'y arrive pas 😢. Comment dans le fichier joint je peux mettre en relation l'onglet "Donnée brutes" avec celui "Filtre" pour qu'il me sorte l'onglet "Extraction filtré" avec uniquement les éléments du 1er onglet filtré avec ceux du deuxième onglet ?

A mon avis je passe trop de temps à essayer une solution qui fonctionne partiellement avec la macro créée au départ car je n'arrive pas a lui imposer un filtre automatique sur la colonne 27.

10nouveau-test.zip (71.98 Ko)

Bonjour de nouveau,

Je vous livre une proposition avec des données sources externalisées (J'ai utilisé ma première proposition comme source de données).

Vous devrez adapter le chemin du fichier à votre environnement réel.

Il est aussi nécessaire de reprendre les noms de table utilisés ("Données importées", "t_Filtre","t_Col")

Données importées : ce sont vos données brutes.
t_Filtre : Eléments de la colonne 27 à analyser.
t_Col : Liste des colonnes à conserver.

Merci JFL mais là je commence à me tirer les cheveux 😉 avec ce power query. Je préfère y revenir plus tard et si vraiment je bloque je laisserai tomber et resterai sur ma macro de départ même si elle ne donne pas entièrement satisfaction.

Merci encore pour le temps consacré.

Bonjour de nouveau,

.....mais là je commence à me tirer les cheveux 😉 avec ce power query. Je préfère y revenir plus tard et si vraiment je bloque je laisserai tomber

Vous ne devez pas être éloigné du résultat attendu.....alors un peu de patience !

Bonjour…

En attendant la fin dl’apprentissage du P.Q. , voici un exemple d’utilisation du VBA avec 3 tableaux : le premier pour la récupération des données, le deuxième pour sélectionner les colonnes à garder et le dernier pour isoler une colonne à filtrer.

Les 2 derniers sont initialisés en sélectionnant la feuille contenant le dernier.

Nota : les procédures sont légères ; j’ai ajouté une procédure (facultative) qui permet de me pas alourdir le Classeur en effaçant (pas détruisant !) les 2 derniers tableaux.

Bonjour,

@Ordonc : Merci pour ta proposition mais honnêtement je ne comprends pas le résultat qu'elle me restitue. L'onglet "info retenue" me donne les mêmes info que celles de l'onglet "Données importées" que je modifie ou non l'onglet "Filtre" De plus l'onglet "extraction filtré" est toujours vide.

@JFL : J'ai réussi à faire fonctionner ton PQ (j'ai utiliser ton 1er fichier). Les infos importées dans l'onglet "Données importées" ressortent bien filtrées dans l'onglet "Extraction FUD filtrés" par rapport à la liste de la colonne "D" de l'onglet "Paramètres"😊😊😊. Par contre je n'arrive pas (mais c'est un détail) à comprendre pour modifier le nom "Colonne 27" de l'onglet "paramètres" en un autre (c'est formation). Enfin je vais utiliser le fichier tel quel puisqu'il donne le résultat attendu et super rapidement. Je ferme le sujet.

Merci encore à vous deux pour le temps passé.😊

Bonjour à tous,

Je vous remercie de ce retour.

Rechercher des sujets similaires à "appliquer automatiquement filtre liste"