Bonjour. J'aimerai savoir s'il est possible de convertir des séries de dates au format julien en format lisible jj/mm/année. J'ai trouvé très peu d'information à ce sujet, la conversion en elle-même. Merci par avance
Bonjour. J'aimerai savoir s'il est possible de convertir des séries de dates au format julien en format lisible jj/mm/année. J'ai trouvé très peu d'information à ce sujet, la conversion en elle-même. Merci par avance
Je connais le calendrier julien mais je ne vois pas ce que tu veux dire par "format julien".
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
Alors, j'avais une base oracle dans laquelle les dates étaient en julien. J'ai du exporter cette base en formant lisible par excell. Le problème maintenant, c'est de convertir ces dates julien (par exemple 2440224) en sa version lisible (02/01/1969). Excell ne le fait pas automatiquement malheureusement.
Ca ne répond pas vraiment à la question que j'ai posé.
A quoi correspond le chiffre que tu présentes ? Que signifie "format julien" ?
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
Ce que j'appelle surement à tord format julien, c'est cette suite de 7 chiffres, par exemple 2440224, qui correspond à une date précise.
Bonsoir,
Amuses toi bien avec ça (conversion jour julien en date calendrier grégorien) :
- La cellule A1 contient le jour julien
- la cellule B1 donnant le jour :
- la cellule C1 donnant le mois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =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 D1 donnant l'année :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =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 E1 donnant les heures :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =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 F1 donnant les minutes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =ENT((A1+0,5-ENT(A1+0,5))*24)
- la cellule G1 donnant les secondes (arrondies si l'on veut)
Code : Sélectionner tout - Visualiser dans une fenêtre à part =ENT((A1+0,5-ENT(A1+0,5))*1440-ENT(E1*60))
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part =ARRONDI((A1+0,5-ENT(A1+0,5))*86400-E1*3600-F1*60;0)
J'utilise LibreOffice 4 donc quand je suis sur la partie du forum Excel, il se peut que mes réponses ne soit pas adéquates. Veuillez m'en excuser.
Bonjour,
Il faudra prendre des précautions, car ta valeur entière 2440224 est à cheval sur 2 jours de notre calendrier grégorien, car le jour julien commence à GMT 12:00:00
Ce qui fait qu'en jour julien, une valeur entière va de midi à midi le lendemain.
Et d'autre part, le calcul julien vers grégorien implique de tenir compte du décalage par rapport à GMT.
Si les cons volaient, il ferait nuit à midi.
A priori, tes macros fonctionnent GerardCalc. Merci !! Une dernière chose, y a t il un moyen de les regrouper dans la même cellule? Que ce soit les macros, ou bien les résultats de ces macros.
Pour ce qui est des jours, mois, années, tu peux les regrouper avec la fonction DATE().
Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.
J'ai utilisé CONCATENER pour le faire, mais DATE est peut etre plus simple, je teste. En tout cas, ça fonctionne, merci à tous
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager