Bonjour à tous,
Une autre façon de faire dans la manipulation des données :
let
Source = Excel.CurrentWorkbook(){[Name="INGENICO_2"]}[Content],
Index = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
Modulo = Table.AddColumn(Index, "Modulo", each Number.Mod([Index], 4), type number),
Extract = Table.AddColumn(Modulo, "Extract", each if [Modulo] = 0 then [BASE] else if [Modulo] = 1 then Text.AfterDelimiter([BASE], ": ") else if [Modulo] = 2 then Text.AfterDelimiter([BASE], "E ") else if [Modulo] = 3 then Text.BetweenDelimiters([BASE], ": ", "E") else null),
GroupBy = Table.Group(Extract, {"Modulo"}, {{"Nombre", each [Extract], type table [Personnalisé=text, Personnalisé.1=text]}}),
Pivot = Table.Pivot(Table.TransformColumnTypes(GroupBy, {{"Modulo", type text}}, "fr-FR"), List.Distinct(Table.TransformColumnTypes(GroupBy, {{"Modulo", type text}}, "fr-FR")[Modulo]), "Modulo", "Nombre"),
Expand = Table.AddColumn(Pivot, "Tbl", each Table.FromColumns({[0],[1],[2],[3]})) [Tbl] {0},
ColRenom = Table.RenameColumns(Expand,{{"Column1", "BASE"}, {"Column2", "DATE"}, {"Column3", "N°FACTURE"}, {"Column4", "MONTANT"}})
in
ColRenom
J'avais planché sur une méthode 100% ruban notamment avec l'ajout d'une colonne personnalisée à partir d'exemple. J'ai eu de bons résultats mais lorsque j'ajoutais d'autres montants ça me sortait n'importe quoi... Dommage !