Les tableurs comptent les heures [article]
vendredi 7 octobre 2005 :: catégorie Excel :: #97 :: rssExcel et Calc (Open Office) gèrent et affichent le temps de manière très particulière.
1. L’unité de temps est le jour
Par exemple 4,275 s’affiche :
- 102:36:00 au format [h]:mm:ss
- 06:36:00 au format hh:mm:ss
- 6156:00 au format [m]:ss
- 36:00 au format mm:ss
NB : dans certains formats , la valeur affichée n’est pas égale au vrai contenu
de la cellule !
Il découle de ce qui précède que :
si A1 = 108:36:54 (c’est-à-dire 4,525625)
alors A2 = A1*24 donne 108,615 (108h36min54s
= 108,615h).
2. Des durées gérées comme des dates
Quoiqu’il y paraisse, les cellules des colonnes A et B ci-dessous sont égales
: celles de A sont
au format date jj/mm/aaaa hh:mm:ss et celles de B au format horaire.

Dans Excel, l'origine des dates est le 00/01/1900 (oui le zéro janvier
1900 et pas le
31décembre 1899 !). Par conséquent,
JOUR(00:00:00) --> 0
JOUR(24:00:00) --> 1, etc..
La même fonction JOUR() sert pour les dates et les durées (inférieures à 31
jours bien sûr ! ).
Bogue dans OpenOffice : le mauvais choix dans la date conduit à des aberrations.
3. Décomposer une durée
Soit par exemple A1 = 63:18:27,8 (c'est-à-dire
2,637821) au format [h]:mm:ss,0.
Dans Excel :
C1 = JOUR(A1) --> 2
C2 = HEURE(A1) --> 15
C3 = MINUTE(A1) --> 18
C4 = SECONDE(A1) --> 28
63 h 18 min 27,8 sec est arrondi à 2j15h18min28s
OpenOffice est bogué !
C2 = HEURE(A1) --> 24 !
La retenue n'étant
pas reportée sur les jours, on peut donc encore à la rigueur
faire
C1 = ENT(A1) --> 3
95 h 59 min 59,7 s sera alors arrondi à 3j24h00min00s, ce qui
est un pis aller.
4. Afficher une durée sous la forme …j..h..min
On peut se contenter de faire :
A1 = CONCATENER(C1;"j ";C2;"h ";C3;"min") --> 4j
15h 38min
Ainsi par exemple A1 = 63:18:27,8 s’affiche 2j15h18min.
Par cette méthode les heures et les minutes inférieures à 10
s’affichent avec un seul caractère,
ce qui peut nuire à la présentation.
Par exemple A1 = 51:08:27,8 s’affiche 2j3h8min.
Pour toujours afficher les heures et les minutes avec 2 chiffres, on peut
utiliser la fonction TEXTE.
D1 = C1&"j"
D2 = TEXTE(C2;"00")&"h"
D3 = TEXTE(C3;"00")&"min"
A7 = D1&D2&D3
Par exemple :
A1 = 51:18:27,8 s’affiche 2j03h18min
A1 = 15:08:27,8 s’affiche 0j15h08min
Pour n’afficher ni les jours ni les heures pour les durées
inférieures respectivement à 24h et à 60min, on peut faire
A7 = SI(D1="0j";SI(D2="00h";D3;D2&D3);D1&D2&D3)
De cette façon,
15:08:59,8 s’affiche 15h09min
00:13:52,8 s’affiche 13min
Patrick Bouzin
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire