1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Public Function PremierJourSemaine(ByVal numSemaine As Byte, ByVal annee As Integer) As Date
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
PremierJourSemaine = DateAdd("ww", numSemaine - 1, d)
End Function
Sub Macro1()
MsgBox PremierJourSemaine(26, 2002)
End Sub |
Partager