Gestion des dates sous Excel

De knowledge
Aller à la navigation Aller à la recherche

Excel gère ses dates (ses timestamps pour être précis) avec un nombre flottant. ce nombre indique le nombre de jours depuis le... 0/01/1900. Oui ils ont crée un jours "zéro" avant le 1/1/1900.

  • Ce nombre est obligatoirement positif donc impossible de coder des dates < 1900
  • La partie décimale indique l'heure de la journée en fraction de journée. Excel gère des nombres flotants avec 15 décimales soit une précision en dessous de la seconde

Conversion Excel vers Epoch

La formule (si la date Excel est en A1)

formule
= (A1-DATE (1970,1,1)) * 86400

Ce qui correspond à:

Formule valorisée
= (A1-25569) * 86400

Quelques dates clés :

Conversion Epoch vers Excel

C'est la formule inverse. En "Python" ca donne:

# -*- coding: utf-8 -*-
"""
Created on Wed Jun 28 10:02:09 2023

@author: Jean
"""
import time    
epoch_time = int(time.time())
exceldatetime=(2209161600-epoch_time)/86400
print (epoch_time)
print (exceldatetime)

A l'heure ou j'écris ces lignes (l'expression n'aura jamais été aussi justifiée) j'obtiens:

1687939772
6032.660046296296

Si on copie 6032.660046296296 dans excel

Formatage en texte

On a un équivalant du 'to_char' de SAL dans Excel qui s'appelle TEXTE. Oui c'est du français !

Le format est donné aussi avec des abréviations... en francais!

Valeur / date Format Résultat
45315 - 24/01/2024 jj/mm/aaaa 24/01/2024
45315 - 24/01/2024 jj.mm.aa 24.01.24
45315 - 24/01/2024 j-m-aa 24-1-24
45315 - 24/01/2024 jj 24
45315 - 24/01/2024 jjj mer.
45315 - 24/01/2024 jjjj mercredi
45315 - 24/01/2024 mm 01
45315 - 24/01/2024 mmm janv.
45315 - 24/01/2024 mmmm janvier
45315 - 24/01/2024 aa 24
45315 - 24/01/2024 aaaa 2024

C'est moche mais c'est comme ça.