J'essaie d'illustrer mon problème,
Voici ce que vous m'avez proposé, la formule de division successive par List.Accumulate et Number.mod se fait sur la table en gras de la Fusion1 non développé
Ce que je souhaiterais faire est de développer la première fusion puis d'en refaire une mais avec la condition que seulement les Doses >= à celle de la ligne serait en fusion. Votre formule resterait identique mais s'appliquerait à la Table en gras d'où partent les flèches bleues.
En repartant du premier fichier que j'ai joint, j'ai remplacé la Feuil1 par votre proposition initiale en la modifiant, c'est la fusion en gras que j'aimerais modifier
Let
Filepath = Excel.CurrentWorkbook(){[Name="Filepath"]}[Content]{0}[Column1],
Source = Excel.Workbook(File.Contents(Filepath&"Projet.xlsx"), null, true),
Feuil1_Sheet = Source{[Item="Feuil1",Kind="Sheet"]}[Data],
#"En-têtes promus" = Table.PromoteHeaders(Feuil1_Sheet),
#"Type modifié" = Table.TransformColumnTypes(#"En-têtes promus",{{"Médicament", type text}, {"Dose nécessaire", Int64.Type}}),
#"Requêtes fusionnées" = Table.NestedJoin(#"Type modifié",{"Médicament"},Feuil2,{"Médicament"},"Fusion"),
#"Fusion développé" = Table.ExpandTableColumn(#"Requêtes fusionnées", "Fusion", {"Médicament", "Dose", "Unité"}, {"Médicament.1", "Dose", "Unité"}),
#"Requêtes fusionnées1" = Table.NestedJoin(#"Fusion développé", {"Médicament"}, Feuil2, {"Médicament"}, "Feuil2", JoinKind.LeftOuter),
DivisionsSuccessives = Table.AddColumn(#"Requêtes fusionnées1", "Résultat", each List.Accumulate(List.Sort([Feuil2][Dose],1),[Dose nécessaire],(a,c) => Number.Mod(a,c)))
in
DivisionsSuccessives