Ciao, ti posto un esempio che puoi adattare alle tue esigenze.
codice:
Private Type tWeekDate
tStartDate As Date
tEndDate As Date
End Type
Dim weekDate As tWeekDate
Private Function NumWeekToDateWeek(numWeek As Integer, Optional anno As Integer = 0) As tWeekDate
Dim startDate As Date
Dim endDate As Date
Dim initDate As Date
Dim numDay As Byte
Dim newDate As Date
If anno = 0 Then
anno = Year(Now)
End If
initDate = "01/01/" & anno
newDate = DateAdd("ww", numWeek - 1, initDate)
numDay = (Weekday(newDate))
startDate = DateAdd("w", (2 - numDay), newDate)
endDate = DateAdd("w", 6, startDate)
NumWeekToDateWeek.tStartDate = startDate
NumWeekToDateWeek.tEndDate = endDate
End Function
'USO...
Private Sub Command2_Click()
Dim p As tWeekDate
p = NumWeekToDateWeek(1, 2004)
MsgBox p.tStartDate & " " & p.tEndDate
End Sub
La funzione restituisce la settimana che va dal lunedi alla domenica... basta passargli il numero della settimana e, opzionale, l'anno di riferimento se diverso dall'anno attuale.