Permet d'obtenir les jours fériés y compris les mobiles
Paques, Ascension
Source / Exemple :
Function JourFerie(madate As Date)
' indique si la date est un jour férié
Dim p_annee As Long
p_annee = Year(madate)
' ajouter paque pentecote et asenscion
If Month(madate) = 1 And Day(madate) = 1 Or _
Month(madate) = 5 And Day(madate) = 1 Or _
Month(madate) = 5 And Day(madate) = 8 Or _
Month(madate) = 7 And Day(madate) = 14 Or _
Month(madate) = 8 And Day(madate) = 15 Or _
Month(madate) = 11 And Day(madate) = 1 Or _
Month(madate) = 11 And Day(madate) = 11 Or _
Month(madate) = 12 And Day(madate) = 25 Or cdow(madate) = "dimanche" Or _
madate = LundiPaques(p_annee) Or madate = LundiPaques(p_annee) + 38 Or _
madate = LundiPaques(p_annee) + 49 Then
JourFerie = True
Else
JourFerie = False
End If
End Function
Function LundiPaques(p_annee As Long) As Date
' retourne le lundi de paques d'une année
Dim l_lundi As Date, l_1 As Long, l_2 As Long, _
l_3 As Long, l_4 As Long, l_5 As Long, l_6 As Long _
, l_j As Long, l_m, l_a
l_1 = Modulo(p_annee, 19)
l_2 = Modulo(p_annee, 4)
l_3 = Modulo(p_annee, 7)
l_4 = Modulo((19 * l_1 + 24), 30)
l_5 = Modulo(((2 * l_2) + (4 * l_3) + (6 * l_4) + 5), 7)
l_6 = 22 + l_4 + l_5
If l_6 > 31 Then
l_j = l_6 - 31
l_m = 4
Else
l_j = l_6
l_m = 3
End If
l_lundi = Ctod(Padl(Str(l_j), 2, "0") & "/" & Padl(Str(l_m), 2, "0") & "/" & p_annee)
LundiPaques = l_lundi + 1
End Function
Function Ascension(pannee As Long) As Date
Ascension = LundiPaques(pannee) + 38
End Function
Function LundiPentecote(pannee As Long) As Date
LundiPentecote = LundiPaques(pannee) + 49
End Function
Function Modulo(nombre As Long, diviseur As Long) As Long
' donne le reste d'une division sous une forme plus académique
Modulo = nombre Mod diviseur
End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.