Function TJFL(ByVal DateX) As Boolean
'********************************************************************************************************************
' Fonction TJFLight pour Excel 2003, jours fériés automatiques
' Auteur: Bernard_XLD sur Exceldownloads
' détermine si une date donnée est fériée et renvoie un boolean.
'********************************************************************************************************************
On Error Resume Next
DateX = CDate(DateX)
On Error GoTo 0
If Not IsDate(DateX) Then Exit Function
Dim Annee%, Cale_Paques&, Date_Dim_Paques As Date
Dim Lun_Paques%, Ascension%, Pentecote% 'fêtes mobiles
Annee = Year(DateX)
Cale_Paques = (((255 - 11 * (Annee Mod 19)) - 21) Mod 30) + 21
Date_Dim_Paques = DateSerial(Annee, 3, 1) + Cale_Paques + (Cale_Paques > 48) + 6 - ((Annee + (Annee \ 4) + Cale_Paques + (Cale_Paques > 48) + 1) Mod 7)
Lun_Paques = CInt(Format(Date_Dim_Paques + 1, "ddmm")) 'Calcul Lundi de Pâques, lundi suivant le Dimanche de Pâques
Ascension = CInt(Format(Date_Dim_Paques + 39, "ddmm")) 'Calcul Ascension, 39 jours après le Dimanche de Pâques
Pentecote = CInt(Format(Date_Dim_Paques + 50, "ddmm")) 'Calcul Pentecôte, 50 jours après le Dimanche de Pâques
Select Case CInt(Format(DateX, "ddmm"))
Case 101, Lun_Paques, 105, 805, Ascension, Pentecote, 1407, 1508, 111, 1111, 2512
TJFL = True
End Select
End Function