For DateX = DateDeb To DateFin
If Not Annee = Year(DateX) Then 'calcul du Dimanche de Paques et des fêtes mobiles sur chgt d'année de DateX, simplification du calcul originel du dimanche de Pâques by patricktoulon
Annee = Year(DateX)
Dim_Paques = CDate(((Round(DateSerial(Annee, 4, (234 - 11 * (Annee Mod 19)) Mod 30) / 7, 0) * 7) - 6))
Ven_Saint = Format(Dim_Paques - 2, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Vendredi Saint, vendredi précédant le Dimanche de Pâques
Lun_Paques = Format(Dim_Paques + 1, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Lundi de Pâques, lundi suivant le Dimanche de Pâques
Ascension = Format(Dim_Paques + 39, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Ascension, 39 jours après le Dimanche de Pâques
Pentecote = Format(Dim_Paques + 50, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Pentecôte, 50 jours après le Dimanche de Pâques
If Pays = 41 Then
Fete_Dieu = Format(Dim_Paques + 60, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Fête Dieu, 60 jours après le Dimanche de Pâques
'Calcul Fahrtsfest, Premier jeudi d'avril
Jour_Sem = 4: Mois_Ref = 4: Num_Cible = 1 'premier jeudi d'avril
Date_Ref = DateSerial(Year:=Annee, Month:=Mois_Ref, Day:=1)
Decal_Jour = Jour_Sem - Weekday(Date_Ref, 2): If Decal_Jour >= 0 Then Decal_Jour = Decal_Jour - 7
Fahrtsfest = Format(Date_Ref + Decal_Jour + (Num_Cible * 7), "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'Calcul Fahrtsfest, Premier jeudi d'avril
'Calcul Jeûne genevois, jeudi suivant le 1er dimanche de septembre
Jour_Sem = 7: Mois_Ref = 9: Num_Cible = 1 'premier dimanche de septembre
Date_Ref = DateSerial(Year:=Annee, Month:=Mois_Ref, Day:=1)
Decal_Jour = Jour_Sem - Weekday(Date_Ref, 2): If Decal_Jour >= 0 Then Decal_Jour = Decal_Jour - 7
Jeune_Genevois = Format(Date_Ref + Decal_Jour + (Num_Cible * 7) + 4, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'premier dimanche de septembre + 4 jours pour le jeudi
'Calcul Lundi du Jeûne fédéral, lundi suivant le 3e dimanche de septembre
Jour_Sem = 7: Mois_Ref = 9: Num_Cible = 3 'troisième dimanche de septembre
Date_Ref = DateSerial(Year:=Annee, Month:=Mois_Ref, Day:=1)
Decal_Jour = Jour_Sem - Weekday(Date_Ref, 2): If Decal_Jour >= 0 Then Decal_Jour = Decal_Jour - 7
Lundi_du_Jeune_Federal = Format(Date_Ref + Decal_Jour + (Num_Cible * 7) + 1, "dd" & Chr(34) & Chr(47) & Chr(34) & "mm") 'troisième dimanche de septembre + 1 jour pour le lundi
End If
End If