🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel TEMPS, HEURE, MINUTE et SECONDE — Lire et construire la fraction derrière l'horloge

|

Excel TEMPS, HEURE, MINUTE et SECONDE — Lire et construire la fraction derrière l'horloge

En bref — Excel stocke une heure d'horloge comme une fraction d'une journée de 24 heures : minuit vaut 0, 6 h vaut 0,25, midi 0,5, 18 h 0,75. HOUR, MINUTE et SECOND lisent les morceaux entiers dans cette fraction ; TIME(hour, minute, second) construit une fraction à partir des morceaux et repasse après minuit (=TIME(25,0,0) → 1 h du matin). TIMEVALUE transforme une heure-texte comme "2:30 PM" en la fraction 0,6042. La seule chose à graver : ces fonctions lisent le cadran de l'horloge, pas le temps écoulé — HOUR d'une durée de 30 heures vaut 6, pas 30.

Remarque — Dans l'interface française d'Excel, ces fonctions portent d'autres noms : TIME → TEMPS, HOUR → HEURE, MINUTE → MINUTE, SECOND → SECONDE, TIMEVALUE → TEMPSVAL, NOW → MAINTENANT, MROUND → ARRONDI.AU.MULTIPLE, DATEVALUE → DATEVAL. L'erreur #VALUE! s'affiche #VALEUR! en français. Les formules ci-dessous conservent les noms anglais pour rester copiables telles quelles.

=HOUR("6:00 AM")          ' -> 6
=MINUTE("14:37")          ' -> 37
=SECOND("14:37:20")       ' -> 20
=TIME(14, 30, 0)          ' -> 0.604167  (au format heure -> 2:30 PM)
=TIME(25, 0, 0)           ' -> 0.041667  (reboucle -> 1:00 AM)
=TIMEVALUE("2:30 PM")     ' -> 0.604167  (fraction de journée)

Vous avez une colonne d'horodatages et il vous faut l'heure pour un tableau croisé dynamique, ou vous devez construire 08:30 à partir de deux cellules d'entrée, ou une heure est arrivée en texte et refuse de coopérer. Les quatre fonctions font chacune un seul travail — et toutes les quatre prennent sens dès que vous tenez l'image qu'une heure n'est qu'un nombre entre 0 et 1. Ce guide couvre ce modèle, le comportement de rebouclage qui surprend, et la ligne où ces fonctions cessent d'être le bon outil et où l'arithmétique simple prend le relais.

Ce que vous allez apprendre

  • Le modèle mental : une heure d'horloge est une fraction de journée (de 0 à 1)
  • HOUR / MINUTE / SECOND lisent le cadran de l'horloge — et pourquoi ce n'est pas le temps écoulé
  • TIME construit une fraction à partir de morceaux, et reboucle à 24 heures
  • TIMEVALUE récupère une heure arrivée sous forme de texte
  • Le choix de bon sens : quand lire les morceaux plutôt que faire de l'arithmétique

Le modèle mental : une heure est une fraction de journée

Tapez 6:00 dans une cellule et Excel stocke 0,25 — un quart du chemin dans une journée de 24 heures — puis l'habille d'un format d'heure. Ce seul fait explique toutes les fonctions ci-dessous. Comme la valeur sous-jacente est une fraction, HOUR n'« extrait » rien de magique : il remultiplie la fraction et vous rend les heures entières.

' A2 affiche 6:00 AM ; le nombre en dessous est 0.25
=A2 * 24        ' -> 6      (0.25 de journée = 6 heures)
=HOUR(A2)       ' -> 6      (même réponse, en entier net)

Gardez l'image : les fonctions opèrent sur la fraction ; le format d'heure n'est qu'un costume peint par-dessus. Tout ce qui suit — le rebouclage, le « pourquoi ma durée est fausse », le piège de l'heure-texte — découle de la fraction sous-jacente.

HOUR, MINUTE et SECOND lisent le cadran de l'horloge

Les trois lecteurs tirent le morceau correspondant d'une valeur d'heure et renvoient toujours un entier dans une plage fixe : HOUR renvoie 023, MINUTE et SECOND renvoient 059.

=HOUR("14:37:20")    ' -> 14
=MINUTE("14:37:20")  ' -> 37
=SECOND("14:37:20")  ' -> 20

Elles fonctionnent aussi sur un vrai horodatage — HOUR(NOW()) donne l'heure courante — parce qu'une date-heure est un compte de jours en série plus une fraction d'heure, et HOUR lit simplement la partie fractionnaire.

Voici le piège qui attrape tout le monde, et il découle directement du « cadran de l'horloge » : HOUR lit l'heure du jour, pas la durée écoulée. Si deux événements sont séparés de 30 heures, la durée vaut 1,25 (un jour et quart), et :

' D2 contient une durée de 30 heures (le nombre 1.25)
=HOUR(D2)     ' -> 6    PAS 30  (30 heures = 1 jour + 6 heures ; HOUR voit le 6)

HOUR jette les jours entiers et rapporte la lecture de l'horloge. Pour obtenir 30, vous voulez les heures écoulées, ce qui est de l'arithmétique — D2 * 24 — pas HOUR. C'est toute la raison pour laquelle convertir une heure en heures décimales est un travail distinct de la lecture de l'horloge.

TIME construit une fraction — et reboucle à minuit

TIME(hour, minute, second) fait l'inverse : il prend trois nombres et assemble la fraction de journée.

=TIME(8, 30, 0)     ' -> 0.354167   (au format heure -> 8:30 AM)
=TIME(14, 30, 0)    ' -> 0.604167   (-> 2:30 PM)

Le comportement à mémoriser est ce qui se passe quand les morceaux débordent. TIME reboucle au lieu de renvoyer une erreur — les minutes au-delà de 59 se reportent sur les heures, et les heures au-delà de 23 font le tour du cadran (il prend en fait le résultat modulo 24 heures) :

=TIME(8, 90, 0)     ' -> 0.395833   (8h + 90min -> 9:30 AM)
=TIME(25, 0, 0)     ' -> 0.041667   (25:00 reboucle -> 1:00 AM)

Ce rebouclage est une fonctionnalité quand vous voulez « ajouter 90 minutes à une heure de départ » — mais un piège quand vous attendiez de TIME(25,0,0) une durée de 25 heures. Il ne le peut pas : TIME ne produit jamais qu'une valeur entre 0 et 1, c'est-à-dire un point sur l'horloge, jamais une plage écoulée d'un jour ou plus. Pour les durées qui peuvent dépasser 24 heures, construisez-les avec de l'arithmétique et affichez-les avec le format [h]:mm — voir additionner des heures au-delà de 24 heures.

TIMEVALUE récupère une heure coincée en texte

Quand une heure arrive d'un export sous forme de texte — alignée à gauche dans la cellule, refusant de se soustraire ou de se trier — il n'y a pas de fraction en dessous, donc HOUR et l'arithmétique échouent tous deux. TIMEVALUE analyse la chaîne en la fraction :

' A2 contient le TEXTE "2:30 PM"
=A2 * 24            ' -> #VALUE!    (impossible de multiplier une chaîne)
=TIMEVALUE(A2)      ' -> 0.604167   (maintenant une vraie fraction ; *24 donne 14.5)
=HOUR(TIMEVALUE(A2))' -> 14

C'est le jumeau « heure du jour » de DATEVALUE. Si vos chaînes source portent à la fois une date et une heure, additionnez les deux analyseurs : DATEVALUE(LEFT(...)) + TIMEVALUE(MID(...)) reconstruit un horodatage complet. Voir DATEVALUE et TIMEVALUE pour le motif d'analyse combinée.

Le choix de bon sens

  • « Qu'affiche l'horloge ? » — l'heure pour un tableau croisé dynamique, la minute pour une étiquette → HOUR / MINUTE / SECOND. Elles donnent des entiers nets que vous pouvez regrouper et comparer.
  • « Combien de temps cela a-t-il pris ? » — une durée, surtout au-delà de 24 heures → n'utilisez pas HOUR ; soustrayez et multipliez par 24 pour des heures décimales, ou utilisez [h]:mm pour l'afficher.
  • Construire une heure à partir de morceauxTIME(h, m, s), en vous rappelant qu'elle reboucle à minuit. Servez-vous du rebouclage à dessein (ajouter des minutes) et jamais pour représenter une longue durée.
  • Arrondir au quart d'heure le plus proche → travaillez sur la fraction avec MROUND : =MROUND(A2, TIME(0,15,0)). Lire les morceaux avec MINUTE puis les recoudre est le chemin le plus long.
  • Une heure qui refuse de calculer → c'est du texte ; emballez-la dans TIMEVALUE une fois, à la frontière de l'import, plutôt que de la parsemer dans chaque formule.

Comment ExcelMaster vous aide

Les formules d'heure échouent en silence : le nombre est souvent juste et seul le format est faux, ou une durée perd discrètement ses jours entiers. ExcelMaster lit l'intention derrière la demande — « obtenir l'heure », « construire une heure de départ », « ces heures sont arrivées en texte » — et écrit la formule qui convient, y compris les détails qu'on oublie : emballer les heures-texte dans TIMEVALUE, choisir TIME ou l'arithmétique pour les durées, et appliquer le bon format numérique pour que le résultat affiché corresponde au nombre en dessous. Vous décrivez l'horloge ; il gère la fraction.

Foire aux questions

Pourquoi HOUR renvoie-t-il 6 pour une durée de 30 heures ?

Parce que HOUR lit le cadran de l'horloge, pas le temps écoulé. Trente heures, c'est un jour entier plus six heures (le nombre 1,25) ; HOUR écarte le jour entier et rapporte le 6. Pour les heures écoulées, utilisez l'arithmétique — =durée * 24 donne 30.

Comment ajouter 90 minutes à une heure dans Excel ?

Ajoutez une valeur TIME : =A2 + TIME(0, 90, 0). TIME fait basculer les 90 minutes en 1:30, si bien qu'un départ à 8 h devient 9 h 30. Ajouter 90/1440 marche aussi, puisqu'une minute vaut 1/1440 de journée.

Comment obtenir l'heure depuis une chaîne de texte comme « 2:30 PM » ?

Emballez-la dans TIMEVALUE : =TIMEVALUE("2:30 PM") renvoie 0,6042, une vraie fraction de journée. Vous pouvez ensuite lire les morceaux avec HOUR/MINUTE ou multiplier par 24 pour des heures décimales.

Quelle est la différence entre TIME et TIMEVALUE ?

TIME(h, m, s) construit une heure à partir de trois nombres. TIMEVALUE("...") analyse une chaîne de texte en la même sorte de fraction. Utilisez TIME quand vous avez les morceaux sous forme de nombres ; utilisez TIMEVALUE quand une heure est arrivée en texte.

Comment arrondir une heure au quart d'heure le plus proche ?

Arrondissez la fraction sous-jacente : =MROUND(A2, TIME(0,15,0)). Comme TIME(0,15,0) représente 15 minutes en fraction de journée, MROUND cale la valeur sur le quart d'heure le plus proche sans que vous ayez à démonter l'horloge.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 2026-07-25.

Guides associés : Convertir une heure en heures décimales · Additionner des heures au-delà de 24 heures · Excel DATEVALUE et TIMEVALUE · Excel INT, TRUNC et MOD · Excel ROUND