Je n'essaierai pas de faire une fonction générique comme DateDiff qui devra prendre en compte tellement de situations différentes que pour moi le jeu n'en vaut pas la chandelle, je préfère composer à partir de petites fonctions comme celle ci-dessus pour adapter au besoin.(BeginDate as date, EndDate as date) => (((Date.Year(EndDate) - Date.Year(BeginDate))-1)*12)+(12-Date.Month(BeginDate)) + (Date.Month(EndDate)) - Number.From(Date.Day(EndDate)<Date.Day(BeginDate))
let
Source = (DateD as date, optional DateF as date)=>
let
Ojd=if DateF=null then DateTime.LocalNow() else DateF,
Age = Text.From((Date.Year(Ojd) - Date.Year(DateD))-
(if Date.Month(Ojd) < Date.Month(DateD) or (Date.Month(Ojd) = Date.Month(DateD) and Date.Day(Ojd)<Date.Day(DateD)) then 1 else 0)) & " ans "
& Text.From(Date.Month(Ojd) - Date.Month(DateD)
+ (if Date.Month(Ojd) > Date.Month(DateD) then 0 else (if Date.Month(Ojd) = Date.Month(DateD) then 11 else 12))) & " mois"
in
Age
in
Source
let
Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"DDN", type date}, {"DDC", type date}}),
#"Âge d'insertion" = Table.AddColumn(#"Type modifié", "Âge", each Date.From([DDC]) - [DDN], type duration)
in
#"Âge d'insertion"