Filtrer les lignes d'une table en fonction d'une colonne (matrice?)

Bonjour à tous,

Je ne sais pas comment chercher (ou intituler) ma requête, je n'arrive pas à trouver de solution.

J'ai un fichier Excel qui récapitule toutes les formations (lignes) et tous les participants possibles (colonnes). Si une formation est suivi, la date est renseignée :

AB
110 mai10 mai
23 juin

Ce fichier est donc illisible et avec beaucoup de cellules vides (j'essaie actuellement de jouer avec la version simplifiée jointe).

J'aimerais offrir la possibilité de sélectionner 1 stagiaire et ainsi obtenir la liste des formations suivies, à quelles dates.

1/ Peut-on espérer utiliser les tableaux croisés dynamiques ? En utilisant une liste à partir de la ligne d'en-tete ?

2/ J'ai essayé différentes RECHERCHE ou filtres mais je n'arrive pas à mixer les fonctions je crois. Est-ce possible de créer ce résultat sans passer par une macro ?

3/ Peut-on "copier" une colonne complète en fonction d'une recherche, quitte à filtrer les cellules vides à la main ?

Je prends tous les conseils ou idées :)

Merci pour votre aide et bonne journée !

Bonjour,

Un exemple via POWER QUERY et sur la base d'une table structurée, intégré nativement depuis Excel 2016.

Vous sélectionnez votre stagiaire puis cliquez droit sur la requête (le tableau vert), actualiser et le résultat apparaît :

let
    Source = Excel.CurrentWorkbook(){[Name="BDD"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Colonne1", type text}, {"Arthur", type datetime}, {"Bertrand", type datetime}, {"Céline", type any}, {"Didier", type datetime}, {"Elena", type datetime}}),
    #"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"Type modifié", {"Colonne1"}, "Attribut", "Valeur"),
    #"Requêtes fusionnées" = Table.NestedJoin(#"Supprimer le tableau croisé dynamique des autres colonnes", {"Attribut"}, STAGIAIRE, {"Column1"}, "STAGIAIRE", JoinKind.Inner),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Requêtes fusionnées",{"Colonne1", "Valeur"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Autres colonnes supprimées",{{"Colonne1", "FORMATION"}, {"Valeur", "DATE"}}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Colonnes renommées",{{"DATE", type date}})
in
    #"Type modifié1"

Peut également être couplé à du VBA pour actualiser automatiquement la requête.

Cdlt,

Merci, c'est puissant comme ça.
Je testerai sur mon fichier volumineux :)

Rechercher des sujets similaires à "filtrer lignes table fonction colonne matrice"