Option Explicit
Public Function Feries(InputDate As Variant) As Boolean
Dim ListFeries(1 To 20) As Long, i As Integer, tDate As Long, AN As Integer
Feries = False
tDate = CDate(InputDate)
If tDate < 1 Then Exit Function
AN = Year(tDate)
If AN < 1900 Then Exit Function
' création liste jours féries
ListFeries(1) = CDate("1/1/" & AN) ' Jour de l'an
ListFeries(2) = CDate("2/1/" & AN) ' Lendemain de l'an
ListFeries(3) = CDate("1/5/" & AN) ' Fête du travail
ListFeries(4) = CDate("8/5/" & AN) ' Victoire 1945
ListFeries(6) = CDate("15/5/" & AN) 'Pâques
ListFeries(5) = ListFeries(6) - 2 ' Vendredi Saint
ListFeries(7) = ListFeries(6) + 1 'Lundi Pâques
ListFeries(8) = ListFeries(6) + 39 'Ascension= Pâques+39
ListFeries(9) = ListFeries(6) + 49 'Pentecôte= Pâques+49
ListFeries(10) = ListFeries(6) + 50 'Lundi de Pentecôte= Pâques+50
ListFeries(11) = ListFeries(6) + 60 'Fête Dieu = Pâques+60
ListFeries(12) = CDate("23/6/" & AN) ' Plébicite Canton Jura
ListFeries(13) = CDate("14/7/" & AN) 'Fête Nationale Française
ListFeries(14) = CDate("15/8/" & AN) ' Assomption
ListFeries(15) = CDate("1/11/" & AN) ' Toussaint
ListFeries(16) = CDate("11/11" & AN) 'Armistice 39-45
ListFeries(17) = CDate("25/12/" & AN) ' Noël
ListFeries(18) = CDate("26/12/" & AN) ' St-Etienne
' comparer la date InputDate avec la liste ListFeries
i = 1
While i <= UBound(ListFeries) And Feries = False
If tDate = ListFeries(i) Then Feries = True
i = i + 1
Wend
End Function