Calcul de la date de pâques, ascension et pentecôte

0/5 (15 avis)

Snippet vu 50 355 fois - Téléchargée 31 fois

Contenu du snippet

Cette fonction permet de calculer les dates des jours fériés non "fixes" comme les jours de Pâques, de l'ascension et de la pentecôte (même si ce dernier ne sera plus d'actualité puisqu'il paraît que c'est parce que nous ne travaillons pas assez que nos vieux meurent l'été).

Source / Exemple :


Function calcul_date_paques(annee_en_cours As Integer) As Date
     Dim a, b, C, P, E, F, g, h, i
     Y = annee_en_cours
     a = fmod(Y, 19)
     b = Int(Y / 100)
     C = fmod(Y, 100)
    P = Int(b / 4)
    E = fmod(b, 4)
    F = Int((b + 8) / 25)
    g = Int((b - F + 1) / 3)
    h = fmod(19 * a + b - P - g + 15, 30)
    i = Int(C / 4)
    K = fmod(C, 4)
    r = fmod(32 + 2 * E + 2 * i - h - K, 7)
    N = Int((a + 11 * h + 22 * r) / 451)
    M = Int((h + r - 7 * N + 114) / 31)
    D = fmod(h + r - 7 * N + 114, 31) + 1
    
    calcul_date_paques = DateSerial(Year:=Y, Month:=M, Day:=D)

End Function
Function fmod(a, b)

    fmod = (a - b * Int(a / b))

End Function

Conclusion :


Cette petite fonction aux calculs obscurs vous donne la date du jour de pâques. Pour avoir le lundi de pâques, il vous suffira d'y ajouter 1 jour.
Pour l'ascension, il vous faudra y ajouter 39 jours, et enfin pour feu le lundi de la pentecôte, il faut ajouter 50 jours (toujours par rapport au dimanche de pâques).
Pour plus d'explication sur ce calcul, lisez le nouveau testament ;-).

A voir également

Ajouter un commentaire Commentaires
Patrice740 Messages postés 4 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 20 avril 2015
3 févr. 2010 à 12:58
Excuse-moi mais j'ai été un peu rapide, en réalité, de l'an 1 à l'an 1582 inclus, c'est le calendrier julien qui était utilisé (en France et à Rome), le calcul de la date de Pâques pour cette période, proposé par S. Butcher, est le suivant :

Y = annee_en_cours
a = fmod(Y, 19)
E = fmod(Y, 4)
i = fmod(Y, 7)
h = fmod(19 * a + 15, 30)
r = fmod(34 + 2 * E + 4 * i - h, 7)
M = Int((h + r + 114) / 31)
D = fmod(h + r + 114, 31) + 1
calcul_date_paques = DateSerial(Year:=Y, Month:=M, Day:=D)

Cordialement.
Patrice740 Messages postés 4 Date d'inscription lundi 10 juillet 2006 Statut Membre Dernière intervention 20 avril 2015
2 févr. 2010 à 17:16
Bonjour PMIER

Cet algorithme est valable de l'an 1 à l'an 9999 et au-delà. Il donne les dates de Pâques retenues par l'église (Eh oui, même avant le concile de Nicée en 325!). Bien d'autres méthodes permettent de trouver la date de Pâques mais il semble que celle-ci soit la plus ancienne qui ne génère pas d'erreur (contrairement à celle de Gauss ou celle proposée par Cheyenne).

Il s'agit de l'algorithme attribué à Samuel Butcher :
- publié dans « Nature » en 1824 et repris dans « The ecclesiastical calendar: its theory and construction. » de Samuel Butcher en 1877.
- cet algorithme corrige les erreurs de celui de Jean Baptiste Joseph Delambre publié en 1821 dans « Histoire de l'astronomie moderne » (page 24).
pmier Messages postés 1 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 9 août 2009
9 août 2009 à 13:59
Une question qui me parait toute bête mais néanmoins importante.
Qu'elle est la plage de validité de cet algorithme ?

Merci de vos réponses.
REWE112 Messages postés 3 Date d'inscription mercredi 10 octobre 2007 Statut Membre Dernière intervention 25 juin 2016
10 oct. 2007 à 16:21
Merci cheyenne
celerit Messages postés 56 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 27 avril 2006
22 avril 2006 à 18:54
merci cheyenne
Afficher les 15 commentaires

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.