Function MakeDate(ByVal numSemaine As Byte, ByVal annee As Integer)
Dim d As Date
Dim numS As Integer
' premier jour de l'année
d = DateSerial(annee, 1, 1)
' numéro de la semaine du 1er janvier
numS = DatePart("ww", d, vbMonday, vbFirstFourDays)
' si le 1er janvier fait partie de la dernière semaine de l'année précédente
' alors passe à la semaine suivante (la première de la nouvelle année)
If numS <> 1 Then d = DateAdd("d", 7, d)
' calcule le premier jour de la première semaine de l'année
d = DateAdd("d", 1 - Weekday(d, vbMonday), d)
' ajoute (numSemaine-1) semaines
d = DateAdd("ww", numSemaine - 1, d)
For i = 0 To 6
MakeDate = MakeDate & Format(d + i, "dd/mm/yyyy") & ";"
Next i
End Function
Partager