C
comment puis-je faire autrement que de te modifier le fichier avec la dernière versionJe ne vous remercierai jamais assez pour votre calendrier, et je dois dire que ce n’est pas lui seulement qui est superbe, mais vous aussi
Au risque de te savoir en avoir marre de moi
Tu ne serais pas un tantinet ch*antLe jour d’aujourd’hui (fond bleu) demeure cliquable dans le moi suivant, ce serait bien s’il ne l’était pas
../..
, je me dois de partager cette approche efficace pour trouver
la date de Pâques qui va déterminer toutes les fêtes religieuses qui s'en suivent.
../..
Merci Modeste Geede pour ces fichiers.résultats du concours international "formule pour trouver la date de pâques" (de Frank Herber MVP germanique)
OkJ'y ai bien pensé, problème, c'est que ControlTipText n'accepte pas le retour à la ligne
Alors, je ne te raconte pas lorsque que pour le même jour tu as un dizaine d'infos
Perso, j'ai donc conservé la MsgBox
Peut-être (sûrement même !) mais autant utiliser un algo qui ne te ramène aucune erreur (et c'est le cas de l'algo de Oudin).Envoyé par david84
-ton calendrier va jusqu'à l'année 2100 : attention car la fonction utilisée pour le calcul de Pâques n'est pas bonne pour l'année 2100. Donc, soit tu enlèves 2100, soit tu devras changer de fonction.
Peut-être bien, mais d'ici là, je serais mort et Excel ne sera peut-être plus
Bonjour à tous,
Merci pour ces fichiers.
J'ai testé la plupart des formules (cf.fichier) : contrairement à celle de Roger2327 qui donne les bons résultats sur les années 1900 à 2400 (basé sur l'algo de Oudin), aucune parmi celles testées ne semble être totalement fiable.
Comment ça ? Celle de Roger est une formule basée sur l'algorithme de oudin...nous restons donc en attente d'une formule basée sur l'algorithme de oudin...
Re
Comment ça ? Celle de Roger est une formule basée sur l'algorithme de oudin...
A+
=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+("22/3/"&A3)
Testée sans erreur sur une plage allant des années 1900 à 2400.Mes tests pour la période allant de 2000 à 2022 sont probants!
Sauf que je n'ai pas autres sources pour en prouver la véracité.
Re
Voici la formule sans besoin de passer par VBA (placer l'année en A3) :
En fait, j'étais arrivé à la même formule de mon côté lors de l'élaboration de mon fichier Calendrier glissant sans formules ici.Code:=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+("22/3/"&A3)
Puis ayant découvert celle de Roger, je l'ai utilisée (puisque sa production était antérieure à la mienne).
Testée sans erreur sur une plage allant des années 1900 à 2400.
A+
=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+DATE(A3;3;22)