let
A = Table.SelectRows(Table.TransformColumns(Excel.CurrentWorkbook(), {"Content", each Table.SelectRows(_, each not List.Contains({"",null}, [Compte]))}), each Text.Contains([Name], "Table")),
B = (x)=> Text.Proper(Date.ToText(Date.From(x), [Format = "MMMM", Culture="fr-FR"])),
C = {List.Transform({1..12}, each B(Text.From(_)&"/2026")), List.FirstN(Table.ColumnNames(A[Content]{0}),2)},
D = Table.TransformColumns(A, {"Content", each let x = List.Last(Table.ColumnNames(_)) in Table.RenameColumns(_, {x, B(x)})}),
E = let x = Table.Combine(D[Content]) in Table.Buffer(Table.SelectColumns(x, C{1} & List.Intersect({C{0}, Table.ColumnNames(x)}))),
F = Table.Sort(Table.Combine(Table.Group(E,
C{1},
{"x", each
[ a = List.Transform(Table.ToColumns(_), each let x = List.Max(_) in if x = null then 0 else x),
b = (x)=> List.FirstN(x,3) & List.Combine(List.Skip(List.Accumulate(List.Skip(x,3), {{x{2},null}}, (s,c)=> s & {{c, try c & " - " & List.Last(s){0} otherwise c - List.Last(s){0}}}))),
c = Table.FromRows({b(a)},b(Table.ColumnNames(_)))
][c]
})[x]), "Compte")
in F