Retour au blog

Calculer les heures de travail dans Google Sheets

Calculez le temps écoulé, les heures ouvrées et les jours ouvrables avec TIME, NETWORKDAYS et l'arithmétique des durées.

7 août 2026SheetFX

Calculer les heures de travail dans Google Sheets

7 août 2026

Feuilles de temps, horloges de SLA et plans de projet se réduisent aux mêmes problèmes de tableur : combien de temps entre deux horodatages, combien de jours ouvrés entre deux dates, et comment transformer les serials fraction-de-jour de Sheets en heures lisibles. Ce guide couvre TIME, HOUR, MINUTE, l'arithmétique des durées, NETWORKDAYS, NETWORKDAYS.INTL et WORKDAY avec des formules collables dans une vraie feuille.

Comment Sheets stocke l'heure

Google Sheets stocke dates et heures comme des nombres de série : la partie entière est le jour, la partie fractionnaire est l'heure comme fraction de 24 heures.

| Heure humaine | Serial (approx.) | | --- | --- | | 6 h 00 | 0,25 | | 12 h 00 | 0,5 | | 18 h 00 | 0,75 | | 8 heures | 8/24 = 0,333… |

C'est pourquoi fin - début pour deux heures le même jour renvoie une fraction, pas « 8 » pour huit heures. Multipliez par 24 pour obtenir les heures écoulées.

Pour la construction plus large des dates (DATE, TODAY, DATEDIF, etc.), voir Travailler avec les dates dans Google Sheets et Normaliser les dates avec DATEVALUE et TEXT.

Construire et découper les heures : TIME, HOUR, MINUTE

TIME construit un serial d'heure à partir d'heure, minute et seconde :

=TIME(9, 30, 0)

C'est 9 h 30. Utile quand les entrées arrivent en colonnes numériques séparées (heure dans A2, minute dans B2) :

=TIME(A2, B2, 0)

HOUR et MINUTE extraient les composantes d'une date-heure :

=HOUR(A2)
=MINUTE(A2)

Si A2 vaut 2026-08-07 17:45, elles renvoient 17 et 45. Pratiques pour signaler les équipes de nuit (HOUR(A2)>=22) ou arrondir les pointages au quart d'heure.

Heures écoulées entre deux horodatages

Vacation le même jour

Début dans A2, fin dans B2 (vrais date-heures ou valeurs heure seules) :

=(B2-A2)*24

Formatez le résultat en nombre (pas en format heure de durée) si vous voulez 8,5 pour huit heures et demie. Si la cellule reste en format heure, Sheets affichera une horloge au lieu d'un compte décimal d'heures.

Vacation de nuit (se termine le lendemain)

Si quelqu'un pointe à 22 h 00 et sort à 06 h 00 sans composante date, B2-A2 est négatif. Corrigez avec un passage de jour :

=IF(B2<A2, B2+1-A2, B2-A2)*24

Mieux encore : stockez de vrais date-heures pour que le travail de nuit ait naturellement B2 > A2.

Afficher en heures et minutes

Heures décimales dans C2H:MM lisible :

=INT(C2)&":"&TEXT(MOD(C2,1)*60, "00")

Ou gardez la fraction brute et formatez la cellule avec un format de durée personnalisé comme [h]:mm (les crochets permettent aux heures de dépasser 24 pour les totaux hebdomadaires).

Total hebdomadaire

Heures déjà en forme décimale dans C2:C8 :

=SUM(C2:C8)

Si les colonnes contiennent encore des durées brutes (fractions de jour), sommez d'abord, puis convertissez :

=SUM(B2:B8-A2:A8)*24

Dans Sheets moderne, cette soustraction matricielle fonctionne souvent telle quelle ; enveloppez avec ARRAYFORMULA si besoin :

=ARRAYFORMULA(SUM(B2:B8-A2:A8))*24

Jours ouvrés entre deux dates : NETWORKDAYS

NETWORKDAYS compte les jours de travail du début à la fin inclus, en excluant samedis, dimanches et jours fériés optionnels.

=NETWORKDAYS(A2, B2)

Avec une liste de jours fériés dans Holidays!A2:A30 :

=NETWORKDAYS(A2, B2, Holidays!A2:A30)

Exemple : projet du lundi 2026-08-03 au vendredi 2026-08-14 sans fériés → 10 jours ouvrés.

Style SLA « jours ouvrés écoulés jusqu'ici » :

=NETWORKDAYS(A2, TODAY(), Holidays!A2:A30)

Week-ends personnalisés : NETWORKDAYS.INTL

Toutes les équipes ne se reposent pas samedi–dimanche. NETWORKDAYS.INTL permet de définir le week-end.

=NETWORKDAYS.INTL(A2, B2, 1, Holidays!A2:A30)

Le troisième argument peut être :

  • Un numéro prédéfini (par exemple 1 = samedi–dimanche, 2 = dimanche–lundi, 11 = dimanche seul — voir la page de la fonction pour la liste complète).
  • Une chaîne de 7 caractères 0/1 pour lun–dim, où 1 marque un jour de week-end. Exemple : week-end vendredi–samedi :
=NETWORKDAYS.INTL(A2, B2, "0000110")

Ce motif : travail lun–jeu, repos ven–sam, travail dimanche — ajustez les sept bits selon votre région.

WORKDAY — atterrir sur une date ouvrée

WORKDAY répond à « quelle date est N jours ouvrés après ce début ? »

=WORKDAY(A2, 10, Holidays!A2:A30)

Si A2 est une date de début, cela renvoie la date dix jours ouvrés plus tard (en sautant week-ends et fériés). Un N négatif recule — utile pour planifier une date de démarrage au plus tard.

Il existe aussi WORKDAY.INTL avec les mêmes contrôles de week-end que NETWORKDAYS.INTL :

=WORKDAY.INTL(A2, 10, "0000011", Holidays!A2:A30)

Combiner heures et jours ouvrés

Estimation simple d'heures ouvrées

Si vous supposez 8 heures payées par jour ouvré :

=NETWORKDAYS(A2, B2, Holidays!A2:A30)*8

Cela ignore les demi-journées de début/fin. Pour plus de précision, calculez les jours du milieu complets plus les extrémités partielles :

=MAX(0, NETWORKDAYS(A2, B2, Holidays!A2:A30)-2)*8
 + IF(NETWORKDAYS(A2, A2, Holidays!A2:A30), (TIME(17,0,0)-MOD(A2,1))*24, 0)
 + IF(NETWORKDAYS(B2, B2, Holidays!A2:A30), (MOD(B2,1)-TIME(9,0,0))*24, 0)

Ce croquis suppose une journée 09 h 00–17 h 00 et que début/fin tombent sur des jours ouvrés — resserrez les bornes selon votre politique. Beaucoup d'équipes restent plus simples : colonnes séparées pour « jours ouvrés » et « heures le même jour » plutôt qu'une méga-formule.

Heures payées depuis une grille de timesheet

| | A (Date) | B (Entrée) | C (Sortie) | D (Heures) | | --- | --- | --- | --- | --- | | 2 | 2026-08-03 | 09:00 | 17:30 | formule |

=(C2-B2)*24

Exclure une pause déjeuner non payée (30 minutes) :

=(C2-B2)*24 - 0.5

Ou le déjeuner comme valeur d'heure :

=(C2-B2-TIME(0,30,0))*24

Sommez la semaine avec SUM(D2:D6). Signalez les lignes de week-end avec :

=IF(OR(WEEKDAY(A2,2)>5), "Week-end", "Jour ouvré")

(WEEKDAY avec type 2 fait lundi = 1 … dimanche = 7.)

Liste de contrôle de formatage

  • Heures décimales pour les calculs et exports paie : format nombre 0,00.
  • Affichage horloge pour les pointages : format heure HH:mm.
  • Totaux de durée longs : format personnalisé [h]:mm pour que 30 heures ne se replient pas en 6:00.
  • Ne multipliez pas par 24 puis formatez en heure — vous double-convertirez et obtiendrez n'importe quoi. Soit gardez les fractions et des formats de durée, soit convertissez en heures décimales et utilisez des formats nombre.

Erreurs fréquentes

  • Soustraire des heures formatées en texte. VALUE ou une saisie d'heure correcte compte ; voir l'article de normalisation des dates lié plus haut.
  • Oublier le comportement inclusif de NETWORKDAYS. Début et fin comptent tous deux s'ils sont des jours ouvrés.
  • Plages de fériés avec des vides ou du texte. Gardez une colonne de dates propre.
  • Durées négatives provenant d'entrée/sortie inversées ou d'une logique de nuit manquante.
  • Utiliser NETWORKDAYS quand il fallait des jours calendaires — pour le total de jours y compris week-ends, utilisez la simple soustraction B2-A2 ou DAYS.

Fonctions associées

Newsletter

Recevez des astuces Sheets chaque semaine dans votre boîte mail.

Des mises à jour courtes et pratiques sur Google Sheets et Apps Script — sans bruit, juste des formules qui fonctionnent.