let
    Source = Excel.CurrentWorkbook(){[Name="Datas"]}[Content],
    // Sauter la ligne d'entête qui est inutile
    #"Sauter première ligne" = Table.Skip(Source,1),
    // retourner la liste des noms de colonnes pour utilisation ultérieure
    #"Noms colonnes" = Table.ColumnNames(#"Sauter première ligne"),
    // Création d'une liste numérique de 1 au nombre de colonnes de la table.
    // Sélection des colonnes dont le reste de  l'index ordinal divisé par 5 est 1 ou 4.
    // pour ne conserver que les colonnes de référence et de valeur
    #"Colonnes a conserver" = List.RemoveNulls( List.Transform({1..List.Count(#"Noms colonnes")},each let M=Number.Mod(_,5) in if M=1 or M=4 then #"Noms colonnes"{_-1} else null)),
    // Faire des sous listes des noms de colonnes à conserver afin de les traiter par 2.
    #"En sous-listes" = List.Split( #"Colonnes a conserver",2),
    // Sélectionner les colonnes de la table d'origine correspondant à nos sous listes
    #"En Tables" = List.Transform(#"En sous-listes",each Table.SelectColumns(#"Sauter première ligne",_)),
    // Transformer les tables en lignes  et les combiner ensemble.
    #"En Lignes" = List.Combine( List.Transform( #"En Tables",Table.ToRows)),
    // Transformer la liste des lignes en table, avec les nouveaus noms de colonnes.
    Resultat = Table.FromRows(#"En Lignes",{"Référence", "Valeur"})
in
    Resultat