Additionner des heures n'est pas comme additionner des nombres : 1h45 + 2h30 ≠ 3h75, mais 4h15. La cause, c'est la base 60.
La parade fiable des développeurs et des gestionnaires de paie : convertir chaque durée en minutes totales avant toute opération, puis reconvertir.
const toMinutes = (h, m) => h * 60 + m; // 3h45 -> 225
const add = (a, b) => a + b; // sur les minutes, sans retenue
const toHHMM = (t) => `${Math.floor(t/60)}h${String(t%60).padStart(2,'0')}`;
const toDecimal = (t) => (t / 60).toFixed(2); // paie : 7h15 = 7.25, jamais 7.15
Les 3 pièges classiques
-
Excel plafonne à 24h si le format de cellule n'est pas
[h]:mm(les crochets sont obligatoires pour cumuler au-delà d'une journée). -
Le passage de minuit : si l'heure de fin est antérieure au début, la durée vaut
(1440 - début) + fin(en minutes). - La conversion décimale : on divise les minutes par 60, pas le chiffre après l'heure. 7h45 → 45/60 = 0,75 → 7,75, pas 7,45.
Heures supplémentaires (France)
Base légale 35h/semaine, puis +25 % de la 36ᵉ à la 43ᵉ heure et +50 % au-delà. Là encore, on raisonne en minutes totales avant d'appliquer les taux.
J'ai détaillé la méthode complète en 5 étapes et un calculateur 6 modes (addition, soustraction, conversion décimal, durée entre deux horaires avec passage minuit, total semaine 35h, heures de nuit selon convention collective) ici :
Calculatrice d'heures — méthode complète
Et vous, quelle méthode utilisez-vous pour les feuilles de temps en masse ?
Top comments (0)