let
Source = Excel.CurrentWorkbook(){[Name="TB_DATA"]}[Content],
ConvertToColumn = List.Transform(Table.ColumnNames(Source), each Table.Column(Source,_)),
ConvertToTable = Table.FromList(ConvertToColumn, Splitter.SplitByNothing(), {"LISTES"}, null, ExtraValues.Error),
ExtractDataFromTable = Table.ExpandListColumn(ConvertToTable, "LISTES"),
DeleteNul = Table.SelectRows(ExtractDataFromTable, each ([LISTES] <> null and [LISTES] <> "")),
BackupIDLib = Table.DuplicateColumn(DeleteNul, "LISTES", "LISTES - Copier"),
ExtractDelim = Table.TransformColumns(BackupIDLib, {{"LISTES", each Text.AfterDelimiter(_, ">sp|"), type text}}),
Fractionne = Table.SplitColumn(ExtractDelim, "LISTES", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"LISTES.1", "LISTES.2"}),
RenCol = Table.RenameColumns(Fractionne,{{"LISTES.1", "IDENTIFIANT"}, {"LISTES.2", "LIBELLE"}, {"LISTES - Copier", "ID_LIBELLE"}}),
#"Lignes triées" = Table.Sort(RenCol,{{"ID_LIBELLE", Order.Ascending}}),
#"Doublons conservés" = let columnNames = {"IDENTIFIANT"}, addCount = Table.Group(#"Lignes triées", columnNames, {{"Count", Table.RowCount, type number}}), selectDuplicates = Table.SelectRows(addCount, each [Count] > 1), removeCount = Table.RemoveColumns(selectDuplicates, "Count") in Table.Join(#"Lignes triées", columnNames, removeCount, columnNames, JoinKind.Inner),
#"Doublons supprimés" = Table.Distinct(#"Doublons conservés", {"IDENTIFIANT"})
in
#"Doublons supprimés"