PQ n'a pas de fonction similaire ?
Bonjour
Pour répondre à @LouReeD
Oui, c'est possible avec Power Query à condition de lire dans le fichier enregistré (pas avec Excel.CurrentWorkbook)
let
Source = Excel.CurrentWorkbook(){[Name="Nom_Fichier"]}[Content],
Excel = Excel.Workbook(File.Contents(Source{0}[Column1])),
Onglets = Table.SelectRows(Excel, each [Kind] = "Sheet"),
Noms = Table.SelectColumns(Onglets,{"Name"})
in
Noms
et dans le classeur Excel, une formule en A1 pour récupérer le nom du fichier (cellule "Non_Fichier" pour Power Query)
Précision, dans mon exemple je récupère avec Power Query le nom des onglets, mais on a également accès au contenu de chaque onglet.
Donc on peut lire la cellule A1 de chacun
Pour obtenir la liste des onglets dont la première cellule (Table.FirstValue) contient un "Z"
let
Source = Excel.CurrentWorkbook(){[Name="Nom_Fichier"]}[Content],
Excel = Excel.Workbook(File.Contents(Source{0}[Column1])),
Onglets = Table.SelectRows(Excel, each [Kind] = "Sheet"),
CelluleA1 = Table.AddColumn(Onglets, "A1", each Table.FirstValue([Data])),
#"Lignes filtrées" = Table.SelectRows(CelluleA1, each Text.Contains([A1], "Z")),
Noms = Table.SelectColumns(#"Lignes filtrées",{"Name"})
in
Noms
Il faut penser à enregistrer le fichier avant chaque mise à jour de la requête
Stéphane