RE
Si j'ai bien compris, une proposition avec Power Query.
Mais bon dieu, mais c'est bien sûr !
Par contre je ne déclarerais Tableau1 qu'à partir de la ligne 4...
Et pour que quels que soient les Y, cela puisse fonctionner je modifierais aussi la fin
let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
#"Autres colonnes supprimées" = Table.SelectColumns(Source,{"Er(GPa)", "X(mm)", "Y(mm)"}),
#"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Autres colonnes supprimées", {{"X(mm)", type text}, {"Er(GPa)", type text}}, "fr-FR"),{"X(mm)", "Er(GPa)"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Fusionné"),
#"Lignes groupées" = Table.Group(#"Colonnes fusionnées", {"Y(mm)"}, {{"tbl", each Table.AddIndexColumn( _,"Index",1)}}),
#"tbl développé" = Table.ExpandTableColumn(#"Lignes groupées", "tbl", {"Fusionné", "Index"}, {"Fusionné", "Index"}),
#"Colonne dynamique" = Table.Pivot(Table.TransformColumnTypes(#"tbl développé", {{"Y(mm)", type text}}, "fr-FR"), List.Distinct(Table.TransformColumnTypes(#"tbl développé", {{"Y(mm)", type text}}, "fr-FR")[#"Y(mm)"]), "Y(mm)", "Fusionné"),
#"Texte inséré avant le délimiteur" = Table.AddColumn(#"Colonne dynamique", "x", each Text.BeforeDelimiter([#"-3,26043"], "|"), type text),
#"Texte extrait après le délimiteur" = Table.TransformColumns(#"Texte inséré avant le délimiteur", {{"-3,26043", each Text.AfterDelimiter(_, "|"), type text}}),
#"Texte extrait après le délimiteur1" = Table.TransformColumns(#"Texte extrait après le délimiteur", {{"-3,24543", each Text.AfterDelimiter(_, "|"), type text}}),
#"Colonnes supprimées" = Table.RemoveColumns(#"Texte extrait après le délimiteur1",{"Index"}),
Redisposer= Table.ReorderColumns( #"Colonnes supprimées",List.Combine({{"x"},List.FirstN(Table.ColumnNames( #"Colonnes supprimées"),List.Count(Table.ColumnNames( #"Colonnes supprimées"))-1)}))
in
Redisposer