Calculer date jour de pâques dans Requete

Le
ChrisCol
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Engelmajer
Le #5273401
Salut,

Sub test()
paques (2001)
End Sub
Function paques(annee As Integer)
'le dimanche qui suit le 14e jour de la lune qui a lieu le 21 mars ou juste
après.
'concile de Nicée en 325
'd'après J. Meeus
'Domaine de validité : de 1582 (début du calendrier grégorien) jusqu'en 4200
Dim nbOr As Integer, siecle As Integer, unite As Integer, mois As
Integer, jour As Integer
Dim siecleBissextile As Integer 'sont bissextiles les années séculaires
non divisibles par 400
Dim rangSiecle As Integer
Dim proemptose As Integer 'ajout d'un jour à épacte 7 fois de suite
tous les 300 ans
'puis une fois au bout de 400 ans (8 fois par
2500 ans)
Dim metemptose As Integer 'retrait d'un jour à l'épacte chaque année
séculaire non bissextile (divisible par 400)
Dim epacte As Integer, anneeBissextile As Integer, rangAnnee As Integer
Dim lettreDominicale As Integer, facteurCorr As Integer
Application.Volatile 'pour usage dans une feuille de calcul
nbOr = annee Mod 19 ' Cycle de Meton (astronome grec Véme
siècle avant JC inventeur de l'héliotrope)
siecle = annee 100
unite = annee Mod 100 'dizaines et unités de l'année
siecleBissextile = siecle 4 'nombre de siècles bissextiles avant
correction
rangSiecle = siecle Mod 4 'rang dans le cycle de bissextilité des
siècles
proemptose = (siecle + 8) 25 '8 jours pour corriger l'approximation
de Meton
'1 jour tous les 25 siècles
metemptose = (siecle - proemptose + 1) 3 ' un jour par année séculaire
non bissextile
' cad siècle divisible par 400
epacte = (19 * nbOr + siecle - siecleBissextile - metemptose + 15) Mod
30
'l'épacte est l'age de la lune au premier
janvier d'une année moins 1 jour
'L'age de la lune c'est le nombre de jours
écoulés depuis la nouvelle lune
anneeBissextile = unite 4 'nombre d'années bissextiles avant
correction
rangAnnee = unite Mod 4 'rang dans le cycle de bissextilité des
années
lettreDominicale = (32 + 2 * rangSiecle + 2 * anneeBissextile - epacte -
rangAnnee) Mod 7
'c'est le rang dans l'alphabet de la lettre
A,B,...,G
'attribuée aux jours par le 1er dimanche de
l'année
'A le 1 janvier, B le 2, les années
bissextiles le 24 est répété donc décalage
'et une 2éme lettre dominicale (la suivante)
est attribuée aux jours après le 24 ou le 28 février
'Dans le calendrier julien le jour
supplémentaire des année bissextiles
'était ajouté le 24 fevrier
'comme paques se trouve après le 20 mars,
les années bissextiles
' on prend la deuxième lettre...

facteurCorr = (nbOr + 11 * epacte + 22 * lettreDominicale) 451
mois = (epacte + lettreDominicale - 7 * facteurCorr + 114) 31
jour = (epacte + lettreDominicale - 7 * facteurCorr + 114) Mod 31
paques = jour + 1 & "/" & mois & "/" & annee
End Function



--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"ChrisCol" 40d67c03$0$288$
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?





Pascal Engelmajer
Le #5273361
Salut,
PS
= =FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6
cad
=DOLLAR((DAY(MINUTE(A19/38)/2+55)&"/4/"&A19)/7,)*7-6
sont des fonction de la feuille de calcul et n'ont pas d"équivalent VBA à ma
connaissance
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"ChrisCol" 40d67c03$0$288$
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?





Raymond [mvp]
Le #5273331
Bonjour.

Tu trouveras la fonction pour calculer les fêtes carillonnées sur la page:
http://access.vba.free.fr/jours_travailles.htm#Fêtes_carillonnées_catholiques.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ChrisCol" news:40d67c03$0$288$
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?





Pascal Engelmajer
Le #5273181
Salut,
c'est celle que j'ai donnée plus haut en l'expliquant...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Raymond [mvp]" news:
Bonjour.

Tu trouveras la fonction pour calculer les fêtes carillonnées sur la page:

http://access.vba.free.fr/jours_travailles.htm#Fêtes_carillonnées_catholique

s.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ChrisCol" news:40d67c03$0$288$
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?









Techniciel
Le #5273021
Bonjour,

Voilà une autre formule :
=SérieDate(Annee;3;22+MOD(19*MOD(Annee;19)+24;30)+MOD(2*MOD(Annee;4)+4*MOD(A
nnee;7)+6*MOD(19*MOD(Annee;19)+24;30)+5;7))+1

Annee est à remplacer par une champ ou une variable qui contient l'année en
question

Le +1 permet de calculer le lundi de paques. Retirer +1 pour le jour de
paques

Espérant vous avoir aidé.

Cordialement

"ChrisCol" news:40d67c03$0$288$
Bonjour,

comment calculer le jour de Pâques dans une requête ?
la formule OK sous Excel ne colle pas sous Access.
il se peut que je l'ai mal traduite.

Excel:
=FRANC((JOUR(MINUTE(ANN/38)/2+55)&"/4/"&ANN)/7;)*7-6

Access:
Pq1: CDate(CMonnaie((CDate(Jour(Minute([Ann]/38)/2+55) & "/4/" &
[Ann]))/7)*7-6)

autre solution ?

Merci d'avance

PS. quel est l'équivalent la fonction Modolu dans une requête ?





Flow
Le #5272981
La fonction donnée plus haut est basée sur l'aloritme de butcher.
il existe un algo plus simple pour obtenir le meme resultat, celui d'Oudin
voir par exp ici :
http://www.smart.net/~mmontes/oudin.html
vous verrez qu'il y en a aussi un 3eme celui de carter.

Voila c'etait juste pour info, si vous avez envie de reduire un peu le nbre
de lignes dans vos modules :-)
ChrisCol
Le #5272371
merci à tous,

En fait je cherche plutôt une formule à inclure dans un champs calculé d'une
simple requête.

le problème est de savoir si le dimanche de paques est inclus dans une
période bornée entre 2 dates toujours différentes.

A +
ChrisCol
Le #5272341
Merci à tous et particulièrement à Pascal,
C'est exactement ce que je cherchais
Publicité
Poster une réponse
Anonyme