Hello,
BAROUTE, j'essaye ce code mais je ne suis pas très doué en NoCode et je sais à quoi correspond Data et operateur dans mon fichiers mais je ne comprend avec quoi je dois remplacer pour mon cas "Content" "Name" "Item" "Kind" "Hidden" "Name.1" et cette ligne ci :FichiersMasqués = Table.SelectRows(Filter, each [Attributes]?[Hidden]? <> true)[[Content],[Name]],
Si tu pourrais me détailler en phrases ce code cela m'aiderait grandement ^^
let
//Chemin vers ton dossier
Source = Folder.Files("C:\Users\toto\OneDrive\Bureau\test"),
//Filtre sur tous les fichiers du dossier qui commencent par "test"
Filter = Table.SelectRows(Source, each Text.StartsWith([Name], "test")),
//Permet de filtrer les fichiers masqués.
//Quand tu importes un dossier tu as une colonne [Attributes] qui contient des metadata du style si c'est un fichier en lecture seule, la taille, etc ainsi que si c'est un fichier masqué ou pas. Ici on retire les fichiers masqués mais ça c'était une ligne déjà présente dans ton code.
FichiersMasqués = Table.SelectRows(Filter, each [Attributes]?[Hidden]? <> true)[[Content],[Name]],
//Transforme chaque fichier récupéré du dossier en classeur excel
Transform = Table.TransformColumns( FichiersMasqués , {"Content" , each Excel.Workbook(_) }),
//Ca c'est juste un clic sur la colonne Name pour étendre les colonnes. Ca liste l'ensemble des feuilles de tes fichiers excel en gros. Ce qui nous intéresse ici c'est la colonne Data dans laquelle se trouvent les données.
ExpandSheet = Table.ExpandTableColumn(Transform, "Content", {"Name", "Data", "Item", "Kind", "Hidden"}, {"Name.1", "Data", "Item", "Kind", "Hidden"}),
//Du coup on combine toutes les tables data pour récupérer les données de chaque onglet
CombineFile = Table.Combine(ExpandSheet[Data]),
//On promeut les headers pour avoir des entêtes de colonne
Headers = Table.PromoteHeaders(CombineFile, [PromoteAllScalars=true]),
//On enlève les headers des tables du dessous vu qu'on les a toutes compilées les unes sur les autres
Filter2 = Table.SelectRows(Headers, each ([Data] <> "Data")),
//On groupe par data (A, B, C, D ...) et on ne récupère que la liste des valeurs affectées à chaque A, chaque B etc
GroupBy = Table.Group(Filter2, {"Data"}, {{"tbl", each [operateur] }}),
//La fonction Table.FromColumns va créer une table en fonction de liste. Donc la première liste sera la première colonne, la seconde liste sera la seconde colonne etc. Donc avec ta colonne tbl créée juste avant on a bien la liste de A en premier, la liste de B en second
ToTable = Table.FromColumns( GroupBy[tbl] , GroupBy[Data])
in
ToTable
J'espère que c'est plus clair
@+