Salut,
Tofalu m'avait donné cette petite fonction(que tu va coller dans un module):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Public Function date_semaine(semaine As Integer, an As Integer) As Date
Dim base As Integer
Dim n As Integer
Dim d As Date
base = Premier_jour(an)
d = DateSerial(an, 1, 1)
d = DateAdd("d", 2 - base, d)
n = (semaine - 1) * 7
d = DateAdd("d", n, d)
date_semaine = d
End Function
Public Function Premier_jour(an As Integer) As Integer
'premier janvier2000: samedi
Dim i As Integer
Dim s As Integer
For i = 2000 To an - 1
s = s + 365
If ((i Mod 4 = 0) And (i Mod 100 <> 0)) Or (i Mod 400 = 0) Then s = s + 1
Next i
s = s Mod 7
Premier_jour = s
End Function |
Libre à toi de l'employer dans une requête:
SELECT Date_Semaine([Sem],[An]) AS DateDébut, [DateDébut]+5 AS DateDeFin;
Ou dans un Formulaire ayant un contrôle N°Semaine et un contrôle Année.
Partager