Sub Rempl_Date()
Dim LeJour
Dim Jour_D As Byte
Dim Cel As Range
LeJour = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
With Sheets("Feuil2")
For Each Cel In .Range("A3:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
Jour_D = Application.Match(Application.Proper(Cel.Offset(, 3)), LeJour, 0) - 1
Cel.Offset(, 1) = 7 * Val(Mid(Cel, 5, 2)) + DateSerial(Right(Cel, 4) * 1, 1, 3) - _
Weekday(DateSerial(Right(Cel, 4) * 1, 1, 3)) - 5 + Jour_D
Next Cel
End With
End Sub
J'avoue que, dans l'absolu, c'est effectivement un plus.De plus, le numéro de semaine peut être sous forme Sem.05 ou Sem.5
Comme je suis l’administrateur de ce fichier, toutes les semaines de l’année auront bien deux chiffres.
Arf... me serais-je trompé ?Une petite variante, qui tout d'abord, comporte quelques différences avec les calculs de @TooFatBoy , notamment pour les années 2021, 2027, 2038, 2044, 2049 (je sais, on ne sera peut-être plus là....
Chouette, pas besoin d'attendre 2027 pour savoir.Un petit fichier test, avec nos 2 solutions