Je reviens de nouveau,
Je viens de me rendre compte que mon échantillon de valeur masque un problème.
Lorsque j'ai créé ma colonne "Semaine" initialement j'ai intégré un 0 après le "S" pour toutes les semaines entre 1 et 9.
J'ai donc essayé d'ajuster votre code pour passer du "S9" à "S09" mais sans résultat.
= Table.ReplaceValue(SéparerAnnéeSemaine,each [Semaine],each
let
sem = [Semaine],
NumSem = Number.FromText(Text.Middle([Semaine], 1)),
h = Time.Hour([TFA]),
w = Date.DayOfWeek([TFA], Day.Monday)
in if ((w = 0) and (h >= 0) and (h < 5) and (NumSem > 0) and (NumSem < 10)) then "S0" & Text.From(Number.From(Text.Remove(sem,"S"))-1)
else if ((w = 0) and (h >= 0) and (h < 5) and (NumSem >= 10)) then "S" & Text.From(Number.From(Text.Remove(sem,"S"))-1)
else sem,
Replacer.ReplaceText,
{"Semaine"}
)