Dernier jour ouvré avant date

Bonjour à toutes et tous,

petite question :

j'ai une variable fin période correspondant à une date

fin_periode = tblReport(i, 7)

je définissais jusqu'ici un nombre de jour X

X = 25 ' 25 jours avant retour demandé

puis enfin je calculais la date correspondante à date de fin - nb de jours X

retour = DateSerial(Year(fin_periode), Month(fin_periode), Day(fin_periode) - X)

sauf que voila je rencontre un soucis car la date de retour calculé tombe un weekend..

Aussi comment procéder afin que la date de retour calculé soit le dernier jour ouvré (lundi -vendredi) de retour?

merci par avance pour votre aide

Bonjour,

La solution la plus simple, si tant est qu'on ait le contrôle sur les dates de fin, seraient de changer 25 en 21 ou 28 (un multiple de 7). Si la date de fin ne tombe pas un WE, la date de retour non plus...

Cdlt,

Bonjour Darkangel, 3GB,

Rajoutez après le calcul de retour.

If VBA.Weekday(retour, vbSunday) = 1 Or VBA.Weekday(retour, vbSunday) = 7 Then
retour = CStr(CInt(Left(retour, 2)) - (VBA.Weekday(retour, vbSunday) = 7) - 2) + Right(retour, 8)
End If

Dans le cas ou le Dimanche et le Samedi sont les jours de Week-end pour la zone concernée.

merci à vous pour vos retours

Xcelius je vais tenter ton code car je n'ai pas de controle sur la date de fin

Rechercher des sujets similaires à "dernier jour ouvre date"