Calcul Durée Excel Entre Deux Dates Et Heures

Calculateur de Durée entre Deux Dates et Heures (Excel)

Calculez précisément la durée entre deux dates et heures avec ou sans week-ends/fériés. Résultat exportable vers Excel avec formules prêtes à l’emploi.

Durée totale:
En jours:
En heures:
En minutes:
Jours ouvrés:
Heures de travail:
Formule Excel:

Guide Complet: Calculer la Durée entre Deux Dates et Heures dans Excel

Le calcul précis des durées entre deux dates et heures est une compétence essentielle pour les professionnels travaillant avec des plannings, des projets ou des analyses temporelles. Excel offre plusieurs méthodes pour effectuer ces calculs, mais choisir la bonne approche dépend de vos besoins spécifiques.

1. Les Bases du Calcul de Durée dans Excel

Excel stocke les dates et heures sous forme de nombres sécimaux:

  • Les dates sont comptées à partir du 1er janvier 1900 (1 = 1/1/1900)
  • Les heures sont représentées comme des fractions de journée (0.5 = 12:00)
  • La combinaison date+heure donne un nombre comme 44197.75 pour le 1er janvier 2021 à 18:00

Pour calculer une durée simple:

  1. Placez votre date/heure de début dans la cellule A1
  2. Placez votre date/heure de fin dans la cellule B1
  3. Utilisez la formule =B1-A1 pour obtenir la durée
  4. Formatez le résultat avec le format “Nombre” ou “[h]:mm:ss” pour les durées >24h
Source Officielle:

Microsoft explique le système de date d’Excel dans sa documentation officielle.

https://support.microsoft.com/…

2. Calculer les Jours Ouvrés (Exclure Week-ends et Fériés)

Pour les calculs professionnels, vous devrez souvent exclure les week-ends et jours fériés. Excel propose deux fonctions principales:

Fonction Description Exemple Résultat
JOURS.OUVRES Calcule les jours ouvrés entre deux dates (exclut samedi/dimanche) =JOURS.OUVRES("1/1/2023", "15/1/2023") 11
JOURS.OUVRES.INTL Version avancée permettant de définir quels jours sont week-ends =JOURS.OUVRES.INTL("1/1/2023", "15/1/2023", "0000011") 13 (exclut seulement dimanche)
JOURS.OUVRES + Jours fériés Exclut également les jours fériés spécifiés =JOURS.OUVRES("1/1/2023", "15/1/2023", A2:A5) (où A2:A5 contient les dates fériées) 10

Pour inclure les heures de travail dans votre calcul:

=SI(JOURS.OUVRES.INTL(B2;C2;"0000011")=0;0;
   (JOURS.OUVRES.INTL(B2;C2;"0000011")-1)*("17:00"-"9:00")+
   SI(C2-B2>1;SI(HEURE(C2)>=9;SI(HEURE(C2)<=17;HEURE(C2)-9+MINUTE(C2)/60;4);0);
      SI(HEURE(C2)<=17;HEURE(C2)+MINUTE(C2)/60;8))+
   SI(B2<>ENT(B2);SI(HEURE(B2)>=9;SI(HEURE(B2)<=17;17-HEURE(B2)-MINUTE(B2)/60;8);8);0))/24

3. Calculer les Heures et Minutes Précises

Pour obtenir une durée en heures et minutes:

  1. Calculez d'abord la différence: =B1-A1
  2. Multipliez par 24 pour convertir en heures: =(B1-A1)*24
  3. Utilisez =ENT() pour les heures complètes et =MOD() pour les minutes restantes

Formule complète:

=ENT((B1-A1)*24) & " heures et " & ENT(MOD((B1-A1)*24;1)*60) & " minutes"

Pour afficher le résultat sous forme décimale (ex: 3,75 heures):

=TEXTE((B1-A1)*24;"0.00") & " heures"

4. Gérer les Fuseaux Horaires

Excel ne gère pas nativement les fuseaux horaires, mais vous pouvez:

  • Ajouter/soustraire des heures manuellement (ex: +1 pour Paris vs UTC)
  • Utiliser Power Query pour convertir les fuseaux horaires
  • Créer une table de référence des décalages horaires
Ville Fuseau Horaire Décalage par rapport à UTC Formule de conversion
Paris Europe/Paris UTC+1 (UTC+2 en été) =A1+(1/24) (hiver) ou =A1+(2/24) (été)
New York America/New_York UTC-5 (UTC-4 en été) =A1-(5/24) (hiver) ou =A1-(4/24) (été)
Tokyo Asia/Tokyo UTC+9 =A1+(9/24)
Sydney Australia/Sydney UTC+10 (UTC+11 en été) =A1+(10/24) (hiver) ou =A1+(11/24) (été)
Ressource Académique:

L'Université de Caroline du Nord propose un guide complet sur les fonctions date/heure d'Excel (PDF) incluant des exemples avancés de gestion des fuseaux horaires.

https://its.unc.edu/files/...

5. Astuces Avancées et Pièges à Éviter

Problème 1: Les dates avant 1900

Excel pour Windows ne gère pas les dates avant le 1er janvier 1900 (bug hérité de Lotus 1-2-3). Pour les dates historiques:

  • Utilisez Excel pour Mac (qui gère les dates à partir de 1904)
  • Stockez les dates comme du texte et convertissez manuellement
  • Utilisez des fonctions personnalisées en VBA

Problème 2: Le bug de l'année 1900

Excel considère à tort que 1900 était une année bissextile. Pour les calculs précis:

=SI(A1=60;59;A1)  {corrige le 29 février 1900}

Astuce 1: Calculer l'âge précis

=DATEDIF(Naissance;AUJOURDHUI();"y") & " ans, " &
 DATEDIF(Naissance;AUJOURDHUI();"ym") & " mois, " &
 DATEDIF(Naissance;AUJOURDHUI();"md") & " jours"

Astuce 2: Calculer les quarts de travail

=ARRONDI((B1-A1)*96;0)/96  {divise la journée en 96 quarts de 15 minutes}

Astuce 3: Créer un calendrier dynamique

Utilisez cette formule pour générer tous les jours entre deux dates:

=SI(A1="";"";SI(A1=$D$1;$D$2;A1+1))

(où D1 contient la date de début et D2 la date de fin)

6. Automatisation avec VBA

Pour les calculs complexes récurrents, créez une fonction personnalisée:

Function DuréeTravail(Debut As Date, Fin As Date, Optional HeureDébut As Double = 0.375, Optional HeureFin As Double = 0.708333333) As Double
    ' HeureDébut = 9:00 (9/24), HeureFin = 17:00 (17/24)
    Dim JoursOuvrés As Integer, HeuresTotales As Double
    Dim Jour As Date, HeureDébutJour As Double, HeureFinJour As Double

    JoursOuvrés = 0
    HeuresTotales = 0

    For Jour = Int(Debut) To Int(Fin)
        ' Vérifier si jour ouvré (lundi à vendredi)
        If Weekday(Jour, vbMonday) < 6 Then
            JoursOuvrés = JoursOuvrés + 1
            HeureDébutJour = HeureDébut
            HeureFinJour = HeureFin

            ' Ajuster pour le premier jour
            If Jour = Int(Debut) Then
                HeureDébutJour = Max(HeureDébut, Debut - Int(Debut))
            End If

            ' Ajuster pour le dernier jour
            If Jour = Int(Fin) Then
                HeureFinJour = Min(HeureFin, Fin - Int(Fin))
            End If

            ' Ajouter les heures si le jour est dans la plage
            If HeureFinJour > HeureDébutJour Then
                HeuresTotales = HeuresTotales + (HeureFinJour - HeureDébutJour)
            End If
        End If
    Next Jour

    DuréeTravail = HeuresTotales * 24 ' Convertir en heures
End Function

Utilisation dans Excel: =DuréeTravail(A1;B1)

7. Visualisation des Durées avec Graphiques

Pour visualiser les durées:

  1. Créez une colonne avec vos durées calculées
  2. Sélectionnez vos données et insérez un graphique en barres empilées
  3. Utilisez un graphique Gantt pour les plannings:

Étapes pour créer un graphique Gantt:

  1. Listez vos tâches dans la colonne A
  2. Mettez les dates de début en B et de fin en C
  3. Calculez la durée en D: =C2-B2
  4. Insérez un graphique à barres empilées
  5. Formatez l'axe des dates et masquez la série de durée
Ressource Gouvernementale:

Le National Institute of Standards and Technology (NIST) des États-Unis fournit des ressources officielles sur la mesure du temps et les standards temporels, utiles pour comprendre les calculs de durée précis.

https://www.nist.gov/pml/...

8. Bonnes Pratiques pour les Calculs de Durée

  • Toujours vérifier les formats: Assurez-vous que vos cellules sont bien formatées en "Date" ou "Heure"
  • Utiliser des noms de plage: Créez des noms pour vos plages de dates (ex: "DateDébut") pour des formules plus lisibles
  • Documenter vos calculs: Ajoutez des commentaires ou une feuille dédiée expliquant vos méthodes
  • Valider les entrées: Utilisez la validation des données pour éviter les dates invalides
  • Tester avec des cas extrêmes: Vérifiez vos formules avec des durées de 0h, 24h, et des spans de plusieurs années
  • Prendre en compte les fuseaux horaires: Documentez toujours le fuseau horaire utilisé pour vos dates/heures
  • Sauvegarder les paramètres: Conservez une trace des jours fériés et horaires de travail utilisés

9. Alternatives à Excel

Pour des calculs de durée plus avancés:

Outil Avantages Inconvénients Cas d'usage idéal
Google Sheets Collaboration en temps réel, fonctions similaires à Excel Performances limitées avec grands jeux de données Travail d'équipe, calculs simples
Python (Pandas) Précision extrême, gestion avancée des fuseaux horaires Courbe d'apprentissage plus raide Analyses de données massives, automatisation
R Excellent pour les analyses statistiques temporelles Moins adapté pour les tâches bureautiques simples Recherche, modélisation temporelle complexe
SQL Idéal pour les calculs sur des bases de données Syntaxe moins intuitive pour les dates Requêtes sur des systèmes de gestion de bases de données
JavaScript Intégration web, interactivité Gestion des fuseaux horaires complexe Applications web, calculateurs en ligne

10. Études de Cas Réels

Cas 1: Calcul des heures facturables dans un cabinet d'avocats

Problème: Calculer les heures travaillées par les avocats, en excluant les pauses déjeuner et les jours non facturables.

Solution:

=SI(OU(JOURSEM(A2;2)>5;NB.SI(Fériés;A2)>0);0;
   SIET(B2<>"";C2<>"";
      MAX(0;MIN(C2;"18:00")-MAX(B2;"09:00")-SI(ET(B2<"12:00";C2>"13:00");1/24;0));
      0))

Cas 2: Planification de projet avec chemin critique

Problème: Calculer la durée totale d'un projet en tenant compte des dépendances entre tâches et des week-ends.

Solution:

  • Utiliser JOURS.OUVRES.INTL pour chaque tâche
  • Créer un graphique Gantt pour visualiser le chemin critique
  • Utiliser la mise en forme conditionnelle pour mettre en évidence les retards

Cas 3: Analyse des temps de réponse client

Problème: Calculer le temps moyen de réponse aux tickets clients, en excluant les périodes hors heures d'ouverture.

Solution:

=SI(JOURSEM(B2;2)>5;
   "";
   SI(B2<>"";
      SI(C2<>"";
         (SI(HEURE(B2)>=9;
            SI(HEURE(B2)<=17;B2;DATE(ANNEE(B2);MOIS(B2);JOUR(B2)+1+"9:00"));
            DATE(ANNEE(B2);MOIS(B2);JOUR(B2)+1+"9:00"))-
         (SI(HEURE(C2)>=9;
            SI(HEURE(C2)<=17;C2;DATE(ANNEE(C2);MOIS(C2);JOUR(C2)+1+"17:00"));
            DATE(ANNEE(C2);MOIS(C2);JOUR(C2)+"17:00")))*24;
         ""));
      ""))

Conclusion

Maîtriser le calcul des durées entre dates et heures dans Excel est une compétence invaluable pour tout professionnel travaillant avec des données temporelles. Que vous ayez besoin de calculer des heures de travail, planifier des projets, ou analyser des intervalles de temps, Excel offre les outils nécessaires pour obtenir des résultats précis.

Rappelez-vous ces points clés:

  • Comprenez comment Excel stocke les dates et heures (nombres sécimaux)
  • Choisissez la bonne fonction en fonction de vos besoins (simple différence, jours ouvrés, etc.)
  • Tenez toujours compte des fuseaux horaires dans vos calculs
  • Validez vos résultats avec des cas tests
  • Documentez vos méthodes pour une reproductibilité
  • Pour des besoins complexes, envisagez des solutions complémentaires comme VBA ou Power Query

Avec les techniques présentées dans ce guide, vous devriez maintenant être capable de gérer pratiquement n'importe quel scénario de calcul de durée dans Excel, des simples différences entre deux dates aux calculs complexes de temps de travail avec exclusions multiples.

Leave a Reply

Your email address will not be published. Required fields are marked *