Bonsoir,
Non, j'avoue que je n'ai pas pensé à l'aide (c'est pas bien, je
sais...), mais j'irai voir.
Je n'ai rien inventé ; les formules ne sont pas vraiment triviales et je
ne suis guère compétent dans les problèmes de calendrier :-(
Dans les en-têtes d'images CCD, en astronomie, les dates sont données en
jour julien et j'avais besoin d'en déduire les dates dans notre
calendrier grégorien via le tableur calc.
Ces formules ont été écrites par Daniel LACROZE-MARTY (merci à lui) pour
Excel, mais fonctionnent très bien pour Calc :
J'ai vérifié les résultats avec le calculateur de l'Institut de
Mécanique Céleste
http://www.imcce.fr/fr/grandpublic/temps/jour_julien.php
- La cellule A1 contient le jour julien
- la cellule B1 donnant le jour doit contenir la formule :
=SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5) -1867216,25)/36524,25)/4))+1524
-ENT(365,25*ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524-122,1)/365,25))
-ENT(30,6001*ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5) ;
ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524
-ENT(365,25*ENT((SI(ENT(A1+0,5)<2299161 ;
ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)
-1867216,25)/36524,25)/4))+1524-122,1)/365,25)))/30,6001))
- la cellule C1 donnant le mois doit contenir la formule :
=SI(ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)
-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524
-ENT(365,25*ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524
-122,1)/365,25)))/30,6001)<13,5;ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)
-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524
-ENT(365,25*ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524-122,1)/365,25)))/30,6001)
-1;ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524
-ENT(365,25*ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)-1867216,25)/36524,25)
-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524-122,1)/365,25)))/30,6001)-13)
- la cellule D1 donnant l'année doit contenir la formule :
=SI(C1>2,5;ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1+ENT((ENT(A1+0,5)
-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524-122,1)/365,25)
-4716;ENT((SI(ENT(A1+0,5)<2299161;ENT(A1+0,5);ENT(A1+0,5)+1
+ENT((ENT(A1+0,5)-1867216,25)/36524,25)-ENT(ENT((ENT(A1+0,5)-1867216,25)/36524,25)/4))+1524-122,1)
/365,25)-4715)
- la cellule E1 donnant les heures :
=ENT((A1+0,5-ENT(A1+0,5))*24)
- la cellule F1 donnant les minutes :
=ENT((A1+0,5-ENT(A1+0,5))*1440-ENT(E1*60))
- la cellule G1 donnant les secondes (arrondies si l'on veut)
=ARRONDI((A1+0,5-ENT(A1+0,5))*86400-E1*3600-F1*60;0)
Le lien où se trouvent d'autres calculs :
http://www.louisg.net/Formules.htm