Calcul Pâques

Fermé
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 - 8 avril 2001 à 16:33
 Hubert Bindels - 1 janv. 2007 à 16:51
Bonjour à tous,
Je recherche un algorithme permettant de trouver le jour et le mois pour Pâques en fonction de l'année, en en déduire celle des autres fêtes mobiles. Avec ceux trouvés sur le Net ou dans certaines revues, le résultat est :
17/04/2001 (mais 05/05/2002 !!!)
25/03/2001
04/04/2001
08/02/2001 !!!
13/04/2001
La bonne solution pour cette année est 15/04/2001.
J'ai sans doute une part de responsabilité dans la transcription de certains, mais sûrement pas pour les 5. Auriez-vous la bonne solution ?
Merci d'avance.
A voir également:

6 réponses

je crois que ceci pourra t'aider:
Calcul du dimanche de paques :
supposons que Y est l'année entré:
toutes les 19 années, les phases de la lune tombent aux mêmes dates de l'année solaire.

G=(Y%19)+1//G est le le nombre d'or
C=(Y/100)+1// C est le numero du siecle
X=(3*C/4)-12//on supprime l'année bissextile X
Z=(8*C+5)/25)-5// Z est la correction permettant de synchroniser pâques et les rotations lunaires.
D=(int)(5*Y/4)-X-10;
A=((-D)%7)// le A+7 mars est un dimanche
E=(11*G+20+Z-X) % 30//E est l' épacte qui mesure l'âge de la lune (nombre de jours après la nouvelle lune)
if(E<0)
{
E+=30;
}
if((E==25&&G>11)||(E==24))
{
E++;
}

//N est le premier dimanche après la pleine lune
N=44-E;
if(N<21)
{
N+=30;
}

N=N+7-((D+N)%7);
si N>31 alors pâques est le N-31 april
sinon pâques est le N mars.

À NOTER QUE la date du PÂQUES NE PEUT PAS TOMBER AVANT LE 22MARS ET ÀPRES LE 25 AVRIL ET AUSSI La date de Pâques n'est definie qu'a partir de 325 ap.JC. J'espère avoir t'aider. Si tu veux un petit programme à ca dis le moi .
3
Hubert Bindels
1 janv. 2007 à 16:51
Bonjour,

Un tout grand merci pour cette procédure de calcul que je me suis permis d'utiliser sur mon site pour calculer les jours de CARNAVAL dans notre région.

La page se trouve ici:

http://www.trois-frontieres.be/F/carnaval.php

Etant donné que je mentionne toujours les sources du contenu de mon site, cela ne me dérangerais pas de mentionner votre nom/pseudo...etc pour m'avoir facilité la tâche.

Bien à vous

hubert@bindels.be
0
Ah la vache, dans le genre question qui semble anodine mais qui masque une complexité redoutable ca se pose là !

Ben non désolé j'ai pas encore de réponse .... Je suis pas sûr d'ailleurs d'en trouver une.


@+

Philippe




0
Nicolas Germain
13 avril 2001 à 18:06
D'après mon souvenir, la définition de Paques
tombe toujours le premier we qui suit la première
nouvelle lune après le printemps.
Apres il reste à faire l'algo du cycle des lunes.

Joyeuse Paques !
0
Si tu ne veux pas te caser la tête, je peux tu donner les 20 prochaines "Fetes de Paques" que tu pourras utiliser dans ton programmes (en utilisant une base de données).
A toi de prévoir une mise à jour par Internet par exemple !
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 210
16 avril 2001 à 15:48
Merci à tous, et j'espère que vous ne m'en voudrez pas pour cette petite "vacherie" ainsi qu'a été qualifiée ma question.
C'est effectivement ainsi (une table pour les prochaines années) que j'avais "résolu" mon problème, mais intellectuellement çà ne me satisfait pas. Ce qui ne me satisfait pas non plus, c'est de voir qu'il y a plusieurs vérités annoncées ... auxquelles je n'arrive pas à croire !!!
Je vais donc passer à un autre sujet, tout aussi passionnant, consistant à collecter du patois de mon terroir ... pour peut-être le mettre un jour à disposition sur le Net. Mais "ceci est une autre histoire" (R. Kipling).
Amitiés.
Marden
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
sur les astuce de "Les astuces excel d'Excelabo Les Formules"
vous trouver la formule
pour le mardi de paques :
=(PLANCHER(JOUR(MINUTE($C$2/38)/2+56)&"/5/"&$C$2;7)-34)+2=(PLANCHER(JOUR(MINUTE($C$2/38)/2+56)&"/5/"&$C$2;7)-34)+2
A+
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
23 oct. 2006 à 21:48
Salut,

regarde ce fichier https://www.cjoint.com/?kxvVVZo5bi
Voici le code au cas où tu ne le trouves pas dans le fichier
Option Explicit

Function dPaques(nYear As Integer) As Date
    dPaques = DateSerial(nYear, xmois(nYear), xjour(nYear))
End Function


Private Function xjour(annee As Integer) As Integer
    
    Dim a, b, c, d, e, f, g, h, i, k, l, m, n, p As Integer
    
    If annee < 1582 Then
        a = annee Mod 4
        b = annee Mod 7
        c = annee Mod 19
        d = (19 * c + 15) Mod 30
        e = (2 * a + 4 * b - d + 34) Mod 7
        n = Int((d + e + 114) / 31)
        p = d + e + 114 - 31 * n
    Else
        a = annee Mod 19
        b = Int(annee / 100)
        c = annee - 100 * b
        d = Int(b / 4)
        e = b - 4 * d
        f = Int((b + 8) / 25)
        g = Int((b - f + 1) / 3)
        h = (19 * a + b - d - g + 15) Mod 30
        i = Int(c / 4)
        k = c Mod 4
        l = (32 + 2 * e + 2 * i - h - k) Mod 7
        m = Int((a + 11 * h + 22 * l) / 451)
        n = Int((h + l - 7 * m + 114) / 31)
        p = h + l - 7 * m + 114 - 31 * n
    End If
    
    xjour = p + 1
        
End Function

Private Function xmois(annee As Integer) As Integer
    
    Dim a, b, c, d, e, f, g, h, i, k, l, m, n, p As Integer
    
    If annee < 1582 Then
        a = annee Mod 4
        b = annee Mod 7
        c = annee Mod 19
        d = (19 * c + 15) Mod 30
        e = (2 * a + 4 * b - d + 34) Mod 7
        n = Int((d + e + 114) / 31)
    Else
        a = annee Mod 19
        b = Int(annee / 100)
        c = annee - 100 * b
        d = Int(b / 4)
        e = b - 4 * d
        f = Int((b + 8) / 25)
        g = Int((b - f + 1) / 3)
        h = (19 * a + b - d - g + 15) Mod 30
        i = Int(c / 4)
        k = c Mod 4
        l = (32 + 2 * e + 2 * i - h - k) Mod 7
        m = Int((a + 11 * h + 22 * l) / 451)
        n = Int((h + l - 7 * m + 114) / 31)
    End If
    
    xmois = n
    
End Function




lami20j

P.S. Ne me demande pas d'explications. Ce n'est pas moi qui a écrit le code.
0