let
// Ce script permet de créer dans Power Query une table du temps 
// pour changer la date de début, modifiez le code ci-dessous
// par exemple, un début au 1er janvier 2020 s’écrit #date(2020, 1, 1)
Debut = #date(2023, 1, 1),
Today = DateTime.Date(DateTime.LocalNow()),
Fin = #date(Date.Year(Today), 12, 31),
Length = Duration.Days(Fin-Debut),

// création de la table
Source = List.Dates(Debut, Length, #duration(1, 0, 0, 0)),
EnTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
ColRenom = Table.RenameColumns(EnTable,{{"Column1", "Date"}}),
ChangeType = Table.TransformColumnTypes(ColRenom,{{"Date", type date}}),
Perso1 = ChangeType,
AjoutAnnee = Table.AddColumn(Perso1, "Année", each Date.Year([Date]), Int64.Type),
AjoutNomMois = Table.AddColumn(AjoutAnnee, "Nom du mois", each Date.MonthName([Date]), type text),
AjoutNomJour = Table.AddColumn(AjoutNomMois, "Nom du jour", each Date.DayOfWeekName([Date]), type text),

// numéro du jour, pour une semaine commençant le lundi
// l’ajout +1 à la fonction DayOfWeek permet au lundi d’être numéroté 1 (au lieu du 0 par défaut)
AjoutNumJourSemaine = Table.AddColumn(AjoutNomJour, "Num du jour Sem", each Date.DayOfWeek(([Date]), Day.Monday)+1, Int64.Type),
AjoutNomJourCourt = Table.AddColumn(AjoutNumJourSemaine, "JJJ", each Text.Start([Nom du jour], 3), type text),
AjoutAAMM = Table.AddColumn(AjoutNomJourCourt , "AA-MM",  each Text.PadStart(Text.From([Année] - 2000), 2, "0") & "-" & Text.PadStart(Text.From([ID Mois]), 2, "0"), type text),
AjoutNumMois = Table.AddColumn(AjoutAAMM, "ID Mois", each Date.Month([Date])),
ChangeType2 = Table.TransformColumnTypes(AjoutNumMois,{{"ID Mois", Int64.Type}}),
OrdreCol = Table.ReorderColumns(ChangeType2,{"Date", "Année", "AA-MM", "Nom du mois", "ID Mois", "Nom du jour", "JJJ", "Num du jour Sem"})
in
    OrdreCol