Function PlusJOuvres(D, NbJours)
Dim Dt, i
Dim NbOr, Epacte As Integer
Dim PLune, LPaques, Arr(10) As Long
Dt = CLng(D)
Do
Dt = Dt + 1
'calcul du Lundi de Pâques
NbOr = (an Mod 19) + 1
Epacte = (11 * NbOr - (3 + Int(2 + Int(an / 100)) * 3 / 7)) Mod 30
PLune = DateSerial(an, 4, 19) - ((Epacte + 6) Mod 30)
If Epacte = 24 Then PLune = PLune - 1
If Epacte = 25 And (an >= 1900 And an < 2200) Then PLune = PLune - 1
LPaques = PLune - Weekday(PLune) + vbMonday + 7 'Lundi Paques
'tableau des fériés
Arr(0) = DateSerial(an, 1, 1)
Arr(1) = LPaques
Arr(2) = LPaques + 38 'Ascencion
Arr(3) = LPaques + 49 'Pentecôte
Arr(4) = DateSerial(an, 5, 1)
Arr(5) = DateSerial(an, 5, 8)
Arr(6) = DateSerial(an, 7, 14)
Arr(7) = DateSerial(an, 8, 15)
Arr(8) = DateSerial(an, 11, 1)
Arr(9) = DateSerial(an, 11, 11)
Arr(10) = DateSerial(an, 12, 25)
'ajoute si ouvré
If (IsError(Application.Match(Dt, Arr, 0))) = True And _
(Weekday(Dt, vbMonday) < 6) = True Then
i = i + 1
End If
Loop Until i = NbJours
PlusJOuvres = Dt
End Function 'fs