La soustraction d’heures dans Excel produit des résultats fiables tant que le résultat reste inférieur à 24 h. Dès que le calcul dépasse ce seuil, ou pire, génère une valeur négative, la cellule affiche une série de dièses (######) ou un résultat tronqué. Le problème ne vient pas de la formule, mais de la façon dont Excel stocke et affiche les données temporelles.
Stockage interne des heures dans Excel : le piège du format décimal
Excel ne stocke pas les heures comme un humain les lit. En interne, chaque valeur horaire correspond à une fraction de journée. Midi équivaut à 0,5 (soit une demi-journée de 24 h), 6 h du matin à 0,25, et 18 h à 0,75.
A lire en complément : Instructions if contains Excel : Comment procéder facilement ?
Cette logique fonctionne parfaitement pour les horaires d’une journée. Le format standard hh:mm traduit la fraction décimale en heures et minutes lisibles. Quand le résultat d’une soustraction dépasse 1 (plus de 24 h) ou devient négatif (heure de fin antérieure à l’heure de début), Excel ne sait plus l’afficher dans ce format par défaut.
Multiplier une valeur horaire par 24 renvoie le nombre d’heures en format numérique classique. C’est la base de toutes les conversions qui suivent.
A voir aussi : Doublons dans un tableau Excel : comment les trouver et les contrôler ?

Format personnalisé [h]:mm pour afficher un total supérieur à 24 h
La solution la plus directe pour afficher un cumul d’heures au-delà de 24 h passe par un format de cellule personnalisé. Les crochets autour du h indiquent à Excel de ne pas remettre le compteur à zéro après 24 h.
| Format de cellule | Valeur stockée | Affichage obtenu | Commentaire |
|---|---|---|---|
| hh:mm | 1,458333 | 11:00 | Excel affiche uniquement le reste après 24 h (35 h – 24 h = 11 h) |
| [h]:mm | 1,458333 | 35:00 | Le total réel apparaît |
| [hh]:mm | 0,375 | 09:00 | Ajoute un zéro initial pour les valeurs inférieures à 10 h |
| [h]:mm:ss | 1,458333 | 35:00:00 | Avec les secondes |
Pour appliquer ce format : clic droit sur la cellule, « Format de cellule », onglet « Nombre », catégorie « Personnalisé », puis saisir [h]:mm dans le champ Type.
Ce format s’applique aussi bien aux résultats d’une somme qu’à ceux d’une soustraction, à condition que le résultat reste positif.
Soustraction d’heures avec résultat négatif : pourquoi Excel bloque
Quand l’heure de fin est antérieure à l’heure de début (travail de nuit, passage de minuit), la formule =B2-A2 produit une valeur décimale négative. Excel refuse d’afficher un nombre négatif au format horaire et renvoie des dièses.
Deux formules pour contourner ce blocage
La première approche utilise la fonction MOD :
=MOD(B2-A2, 1)
MOD divise la différence par 1 et renvoie le reste, toujours positif. Pour un poste commençant à 22:00 et finissant à 06:00, cette formule renvoie 0,333, soit 8 h.
La seconde approche utilise une condition SI :
=SI(B2-A2<0, B2-A2+1, B2-A2)
Si le résultat est négatif, la formule ajoute 1 (soit 24 h) pour corriger le calcul. Cette méthode est plus lisible pour les utilisateurs qui relisent les formules.
- MOD fonctionne en une seule expression, sans test conditionnel, ce qui simplifie les formules imbriquées dans des tableaux complexes
- SI offre une lecture explicite de la logique (si négatif, ajouter 24 h), plus facile à auditer pour un collègue
- Les deux formules donnent un résultat identique pour un écart inférieur à 24 h, mais MOD gère aussi les écarts multi-jours sans ajustement supplémentaire
Combiner [h]:mm et MOD pour les cumuls au-delà de 24 h
Un tableau de suivi hebdomadaire peut produire un total de 42 h ou 50 h. Pour que ce total s’affiche correctement après des soustractions incluant des passages de minuit, il faut appliquer MOD sur chaque ligne, puis formater la cellule de somme en [h]:mm.
Sans ce double traitement, le total affiché sera faux : les lignes avec résultat négatif non corrigé fausseront la somme globale.

Conversion des heures en nombre décimal pour les calculs de paie
Le format [h]:mm reste un format d’affichage. Pour multiplier des heures par un taux horaire, il faut convertir la durée en nombre décimal exploitable.
La formule est simple : multiplier la valeur horaire par 24. Une cellule contenant 08:30 (stockée comme 0,354167) multipliée par 24 donne 8,5. Ce chiffre peut ensuite être multiplié par un taux horaire pour obtenir un montant.
Ne jamais appliquer un format [h]:mm à une cellule destinée à un calcul monétaire. Le format horaire empêche Excel de traiter la valeur comme un nombre classique dans les opérations arithmétiques suivantes.
- Pour extraire uniquement les heures entières : =ENT(cellule*24)
- Pour extraire les minutes restantes : =MOD(cellule*24, 1)*60
- Pour obtenir un décimal avec deux chiffres après la virgule (8,50 au lieu de 8:30) : =ARRONDI(cellule*24, 2)
Limites d’Excel pour le suivi des heures de travail au-delà du tableur
Les formules décrites couvrent les besoins d’un calcul ponctuel ou d’un tableau de bord simple. Pour un suivi régulier impliquant des soldes créditeurs et débiteurs sur plusieurs mois (annualisation du temps de travail, compteurs d’heures supplémentaires), les feuilles Excel montrent leurs limites.
Les erreurs de saisie, l’absence de traçabilité des modifications et la difficulté à intégrer automatiquement les règles légales (durées maximales, majorations) rendent le tableur fragile pour un usage RH structuré. Les logiciels spécialisés en gestion du temps de travail gèrent nativement les soldes négatifs au-delà de 24 h et actualisent les règles de calcul sans intervention manuelle.
Pour un besoin limité (suivi projet, calcul d’heures de vol, planning événementiel), la combinaison MOD + format [h]:mm couvre la majorité des cas. La bascule vers un outil dédié se justifie dès que le fichier dépasse une vingtaine de salariés ou que les données servent de preuve en cas de litige sur les heures travaillées.


