Calcul de la date de pâques à partir de 1583 selon oudin

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 051 fois - Téléchargée 25 fois

Contenu du snippet

Ce code permet de calculer la date de pâques et est basé sur l'algorithmme de Oudin.
L'avantage de celui-ci est d'être parmi ceux qui demandent le moins d'opérations.
C'est donc un des plus intéressants pour le calcul généraliste (sans limite de siècle).
Il est sous sa forme non simplifiée donc utilisable pour toute année postérieure à 1583 (après l'apparition du calendrier grégorien).
Le calcul de la date de Pâques est loin d'être une chose si facile.

Pour information :
  • G est le nombre d'or diminué de 1
  • C et C_4 permettent le suivi des années bissextiles
  • E c'est l'épacte
  • H qui dépend de l'épacte
  • I représente le nombre de jours entre la pleine lune pascale et le 21 mars
  • J2 calcule le jour de la lune pascale (0=dimanche 1=lundi...6=samedi)
  • R est le résultat final et représente la date du mois de mars, s'il dépasse 31 on déborde sur avril (... 30 correspond au 30 mars, 31 au 31 mars, 32 au 1er avril, 33 au 2 avril, ...).

Retrancher 31 le cas échéant pour obtenir la date d'avril.

Source / Exemple :


Function Paques(annee As Integer) As Date
   
    Dim G, C, C_4, E, H, K, P, Q, I, B, J1, J2, R
      
    G = annee Mod 19
    C = annee \ 100
    C_4 = C \ 4
    E = (8 * C + 13) \ 25
    H = (19 * G + C - C_4 - E + 15) Mod 30
    K = H \ 28
    P = 29 \ (H + 1)
    Q = (21 - G) \ 11
    I = (K * P * Q - 1) * K + H
    B = annee \ 4 + annee
    J1 = B + I + 2 + C_4 - C
    J2 = J1 Mod 7
    R = 28 + I - J2
    
    If R <= 31 Then
        Paques = DateValue(CStr(R) & "/3/" & CStr(annee))
    Else
        Paques = DateValue(CStr(R - 31) & "/4/" & CStr(annee))
    End If
    
End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
35
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
16 janvier 2009

Le code est pratique
Il y a un site intéressant qui utilise aussi ce code : http://olravet.free.fr/telechargement.html

Il y a une mine de trucs super sur ce site
Messages postés
6
Date d'inscription
vendredi 16 juin 2006
Statut
Membre
Dernière intervention
9 février 2007

Très bonne remarque ECONS je modifie de ce pas le code ! Je ne sais même pas pourquoi je n'y ai pas pensé moi même ! C'est Vendredi sans doute ...
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
Salut,

En t'inspirant de la source suivante :
http://www.cfmfrance.com/codes/CALCUL-JOURS-FERIES-FRANCE_32850.aspx

Tu pourras simplifier tes calculs, notamment en utilisant Mod(), qui calcule le reste d'une division entière.

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.