let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
#"Fichiers masqués filtrés1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
#"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier", each #"Transformer le fichier"([Content])),
#"Colonnes renommées1" = Table.RenameColumns(#"Appeler une fonction personnalisée1", {"Name", "Source.Name"}),
#"Autres colonnes supprimées1" = Table.SelectColumns(#"Colonnes renommées1", {"Source.Name", "Transformer le fichier"}),
#"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier", Table.ColumnNames(#"Transformer le fichier"(#"Exemple de fichier"))),
#"Type modifié" = Table.TransformColumnTypes(#"Colonne de tables développée1",{{"Source.Name", type text}, {"ITEM_1", Int64.Type}, {"ITEM_2", Int64.Type}, {"ITEM_3", Int64.Type}, {"ITEM_4", Int64.Type}, {"ITEM_5", Int64.Type}, {"ITEM_6", Int64.Type}, {"ITEM_7", Int64.Type}, {"ITEM_8", Int64.Type}})
in
#"Type modifié"
Re,
@alexga78
j'utilise aussi Office 365
Les fichiers de test CSV sont issus d'Excel (Enregistrer sous -> CSV, séparateur point virgule)
Tu as essayé avec les fichiers contenu dans le zip du message#2 ?
Tu peux mettre ton code M complet, stp avec le let .... in
merci
Sinon tu vois comment simplifier le code "anglophone" ?
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
Result = let x = Table.SelectColumns(Table.AddColumn(Source, "Custom", each Table.PromoteHeaders(Csv.Document([Content],[Delimiter=";", Encoding=TextEncoding.Windows, QuoteStyle=QuoteStyle.None]))),{"Name","Custom"}) in Table.ExpandTableColumn(x,"Custom", List.Union(Table.TransformColumns(x, {"Custom", each...
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
Personnalisé1 = Source[[Folder Path],[Name]],
#"Personnalisée ajoutée" = Table.AddColumn(Personnalisé1, "Personnalisé", each Table.PromoteHeaders(Csv.Document(File.Contents([Folder Path] & [Name]), null, ";", 1 , 1252))),
Personnalisé2 = Table.Combine(#"Personnalisée ajoutée"[Personnalisé])
in
Personnalisé2
Personnalisé1=manuelle
#"Personnalisée ajoutée"= manuelle
Personnalisé2=manuelle
#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Personnalisé.1", each Table.AddColumn([Personnalisé], "Personnalisé.1", (x)=> [Name])),
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
Personnalisé1 = Source[[Folder Path],[Name]],
#"Personnalisée ajoutée" = Table.AddColumn(Source, "Personnalisé", each Table.PromoteHeaders(Csv.Document(File.Contents([Folder Path] & [Name]), null, ";", 1 , 1252))),
#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Personnalisé.1", each Table.AddColumn([Personnalisé], "Personnalisé.1", (x)=> [Name])),
Personnalisé2 = Table.Combine(#"Personnalisée ajoutée1"[Personnalisé.1])
in
Personnalisé2
#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Nom fichier", each Table.AddColumn([Personnalisé], "Nom fichier", (x)=> [Name])),
#"Autres colonnes supprimées" = Table.SelectColumns(#"Personnalisée ajoutée1",{"Nom fichier"}),
#"Nom fichier développé" = Table.ExpandTableColumn(#"Autres colonnes supprimées", "Nom fichier", {"Nom fichier", "ITEM_1", "ITEM_2", "ITEM_3", "ITEM_4", "ITEM_5", "ITEM_6", "ITEM_7", "ITEM_8"})
in
#"Nom fichier développé"
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
Personnalisé1 = Source[[Folder Path],[Name]],
#"Personnalisée ajoutée" = Table.AddColumn(Personnalisé1, "Personnalisé", each Table.PromoteHeaders(Csv.Document(File.Contents([Folder Path] & [Name]), null, ";", 1 , 1252))),
#"Colonnes supprimées" = Table.RemoveColumns(#"Personnalisée ajoutée",{"Folder Path"}),
#"Personnalisé développé" = Table.ExpandTableColumn(#"Colonnes supprimées", "Personnalisé", {"ITEM_1", "ITEM_2", "ITEM_3", "ITEM_4", "ITEM_5", "ITEM_6", "ITEM_7", "ITEM_8"}, {"ITEM_1", "ITEM_2", "ITEM_3", "ITEM_4", "ITEM_5", "ITEM_6", "ITEM_7", "ITEM_8"})
in
#"Personnalisé développé"
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
#"Fichiers masqués filtrés1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
#"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier (2)", each #"Transformer le fichier (2)"([Content])),
#"Colonnes renommées1" = Table.RenameColumns(#"Appeler une fonction personnalisée1", {"Name", "Source.Name"}),
#"Autres colonnes supprimées1" = Table.SelectColumns(#"Colonnes renommées1", {"Source.Name", "Transformer le fichier (2)"}),
#"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier (2)", Table.ColumnNames(#"Transformer le fichier (2)"(#"Exemple de fichier (2)"))),
#"Type modifié" = Table.TransformColumnTypes(#"Colonne de tables développée1",{{"Source.Name", type text}, {"ITEM_1", Int64.Type}, {"ITEM_2", Int64.Type}, {"ITEM_3", Int64.Type}, {"ITEM_4", Int64.Type}, {"ITEM_5", Int64.Type}, {"ITEM_6", Int64.Type}, {"ITEM_7", Int64.Type}, {"ITEM_8", Int64.Type}})
in
#"Type modifié"
let
// Spécifiez le chemin du dossier contenant les fichiers CSV
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
// Filtrez pour ne sélectionner que les fichiers CSV
FilteredRows = Table.SelectRows(Source, each Text.EndsWith([Name], ".csv")),
// Combinez les fichiers en utilisant la fonction Csv.Document
Combine = Table.AddColumn(FilteredRows, "Combined", each Csv.Document([Content])),
// Promouvez les en-têtes de la première ligne
PromoteHeaders = Table.TransformColumns(Combine, {"Combined", each Table.PromoteHeaders(_)}),
// Combinez les tables en une seule
CombinedTables = Table.Combine(PromoteHeaders[Combined])
in
CombinedTables
= Table.AddColumn(FilteredRows, "Combined", each Csv.Document([Content],[Delimiter=";"]))
let
// Spécifiez le chemin du dossier contenant les fichiers CSV
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
// Filtrez pour ne sélectionner que les fichiers CSV
FilteredRows = Table.SelectRows(Source, each Text.EndsWith([Name], ".csv")),
// Combinez les fichiers en utilisant la fonction Csv.Document
Combine = Table.AddColumn(FilteredRows, "Combined", each Table.PromoteHeaders(Csv.Document([Content], [Delimiter=";"]))),
// Promouvez les en-têtes de la première ligne
PromoteHeaders = Table.TransformColumns(Combine, {"Combined", each Table.PromoteHeaders(_)}),
// Combinez les tables en une seule
CombinedTables = Table.Combine(Combine[Combined])
in
CombinedTables
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
// Filtrez pour ne sélectionner que les fichiers CSV
FichiersCSV = Table.SelectRows(Source, each Text.EndsWith([Name], ".csv")),
// Extraire les données des fichiers CSV avec le délimiteur spécifié
ImporterCSV = Table.TransformColumns(FichiersCSV, {"Content", each Csv.Document(_, [Delimiter=";", Encoding=1252, QuoteStyle=QuoteStyle.None])}),
// Ajoutez une colonne avec les noms des fichiers
AjoutNomFichier = Table.AddColumn(ImporterCSV, "Nom de fichier", each [Name]),
// Déplacez la colonne "Nom de fichier" au début
ReorderColumns = Table.ReorderColumns(AjoutNomFichier, {"Nom de fichier", "Content"}),
// Promouvoir les en-têtes de colonne
PromouvoirEnTêtes = Table.TransformColumns(ReorderColumns, {"Content", each Table.PromoteHeaders(_)}),
// Combinez les tables en une seule
TablesCombinées = Table.Combine(PromouvoirEnTêtes[Content])
in
TablesCombinées
let
Source = Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
Personnalisé1 = Source[[Folder Path],[Name]],
#"Personnalisée ajoutée" = Table.AddColumn(Source, "Personnalisé", each Table.PromoteHeaders(Csv.Document(File.Contents([Folder Path] & [Name]), null, ";", 1 , 1252))),
#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Nom fichier", each Table.AddColumn([Personnalisé], "Nom fichier", (x)=> [Name])),
#"Personnalisée ajoutée2" = Table.AddColumn(#"Personnalisée ajoutée1", "Personnalisé.1", each Table.ReorderColumns([Nom fichier],{"Nom fichier", "ITEM_1"})),
Personnalisé2 = Table.Combine(#"Personnalisée ajoutée2"[Personnalisé.1])
in
Personnalisé2
let
Source=Folder.Files("C:\Users\STAPLE\Documents\PQ_CSV"),
// uniquement les CSV
Filtrer = Table.SelectRows(Source, each ([Extension] = ".csv")),
Ajout = Table.AddColumn(#"Filtrer", "CSV", each Table.PromoteHeaders(Csv.Document([Content],[Delimiter=";"]))),
List = List.Union(List.Transform(Ajout[CSV], each Table.ColumnNames(_))),
Expansion = Table.ExpandTableColumn(Ajout, "CSV", List),
// autre méthode pour avoir les noms de fichiers en colonne 1 et les données ensuite
Suppression = Table.RemoveColumns(Expansion,{"Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"})
in
Suppression
Suppression = Table.RemoveColumns(Expansion,{"Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
// Format =Table.TransformColumnTypes(Suppression, List.Transform(Table.ColumnNames(Suppression), each {_, type number}),"fr-FR")
Format=Table.TransformColumnTypes(Suppression,List.Transform(List.RemoveFirstN(Table.ColumnNames(Suppression),1),each {_, type number}),"fr-FR")
in
Format