Conversion jour julien -> date grégorienne

Bonjour,

Je recherche les formules (ou macro) permettant dans calc de convertir
une date d'un jour julien (domaine astronomie) en Année, mois, jour,
heure, minute.
J'ai trouvé des formules sur la toile, mais avec à chaque fois des
problèmes pour les alternances de mois (28,29,30,31 jours).
Avez-vous ça dans vos cartons ? Si oui, je suis preneur.
Un grand merci d'avance,

Bonne journée,

Bonsoir,

Ne vous dérangez pas, j'ai trouvé les bonnes formules.
Désolé d'avoir fait un peu de bruit.

Bonne soirée,

Bonjour,

Dans ce cas, il est intéressant de les "publier", d'autres pourront
peut-être trouver leur bonheur en parcourant les archives :).

Bonne soirée

Sébastien

ah oui, +1, tu ne nous déranges pas Jacques, au contraire, on veut
bien savoir le résultat de la bataille entre Julien et Grégoire :wink:
Et surtout, il me semble me rappeler que c'est indiqué dans l'aide,
est-ce là que tu as trouvé (comme tu t'en doutes, ce n'est pas une
conversion quotidienne) et si oui, est-ce que les informations sont
exactes.
À bientôt
Sophie

Bonsoir,

D'autant que le passage dépend des pays. Tous n'ont pas basculés en même
temps.

Amitiés

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 :frowning:
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

Bonne soirée à tous,

Bonsoir Jacques,

[...]

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 :frowning:
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

Merci pour tes explications, comme tu dis, les formules ne sont pas triviales :wink: J'ai ajouté le lien vers les formules sur le wiki dans la partie qui traite des calendriers
http://wiki.documentfoundation.org/FR/Calc:_Fonctions_date_heure#Ann.C3.A9es_avant_1925

À bientôt
Sophie

Bonjour Sophie,

Merci pour tes explications, comme tu dis, les formules ne sont pas
triviales :wink: J'ai ajouté le lien vers les formules sur le wiki dans la
partie qui traite des calendriers
http://wiki.documentfoundation.org/FR/Calc:_Fonctions_date_heure#Ann.C3.A9es_avant_1925

À bientôt
Sophie

Le lien que tu donnes dans le wiki ne semble pas fonctionner ; n'y
aurait-il pas le caractère "|" en trop ?
http://www.louisg.net/Formules.htm| au lieu de
http://www.louisg.net/Formules.htm

Bonne journée