Calcul Pâques
Marden
Messages postés
1072
Date d'inscription
Statut
Membre
Dernière intervention
-
Hubert Bindels -
Hubert Bindels -
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.
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:
- Calcul Pâques
- Formule calcul jour de pâques excel - Guide
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
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 .
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 .
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
Ben non désolé j'ai pas encore de réponse .... Je suis pas sûr d'ailleurs d'en trouver une.
@+
Philippe
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 !
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 !
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 !
A toi de prévoir une mise à jour par Internet par exemple !
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
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
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+
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+
Salut,
regarde ce fichier https://www.cjoint.com/?kxvVVZo5bi
Voici le code au cas où tu ne le trouves pas dans le fichier
lami20j
P.S. Ne me demande pas d'explications. Ce n'est pas moi qui a écrit le code.
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.
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