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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 48 011 fois - Téléchargée 30 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
Messages postés
4
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
20 avril 2015

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.
Messages postés
4
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
20 avril 2015

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).
Messages postés
1
Date d'inscription
mercredi 13 février 2008
Statut
Membre
Dernière intervention
9 août 2009

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.
Messages postés
3
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
25 juin 2016

Merci cheyenne
Messages postés
56
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
27 avril 2006

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.