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
| 'BUT Renvoie le Jour de la semaine spécifié précédent la date passée en paramètre
'iNumJourSem= prend ses valeurs dans vbMonday, à vbSunday
Public Function F_GetJourSemPrecedent(ByVal Dtm As Date, ByVal iNumJourSem As Integer) As Date
F_GetJourSemPrecedent = f_GetJourSem(Dtm, iNumJourSem, -1)
End Function
'BUT Renvoie le Jour de la semaine spécifié suvant la date passée en paramètre
'iNumJourSem= prend ses valeurs dans vbMonday, à vbSunday
Public Function F_GetJourSemSuivant(ByVal Dtm As Date, ByVal iNumJourSem As Integer) As Date
F_GetJourSemSuivant = f_GetJourSem(Dtm, iNumJourSem, 1)
End Function
'BUT Renvoie le Jour de la semaine spécifié suivant ou précédent la date passée en paramètre
'paramètres:
'Dtm : Date à partir de laquelle la recherche se fait
'iNumJourSem= prend ses valeurs dans vbMonday à vbSunday
'iSens=+1 pour chercher dans le futur et -1 dans le passé
Public Function f_GetJourSem(ByVal Dtm As Date, ByVal ivbNumJourSem As Integer, ByVal iSens As Integer) As Date
Dim dtmJour As Date
Dim iPas As Integer
iPas = Sgn(iSens)
dtmJour = Dtm
While WeekDay(dtmJour, vbSunday) <> ivbNumJourSem
dtmJour = DateAdd("d", iPas, dtmJour)
Wend
f_GetJourSem = dtmJour
End Function |
Partager