Comment calculer le temps écoulé – en jours, mois ou années – entre deux dates et heures dans Excel ?
Lorsque vous gérez des plannings, suivez des délais de projet ou analysez des journaux d’événements dans Excel, il est souvent essentiel de déterminer le temps écoulé entre deux instants précis. Par exemple, si vous disposez de deux listes — l’une avec les heures de début et l’autre avec les heures de fin — vous voudrez probablement calculer rapidement la durée écoulée pour chaque paire située sur la même ligne, comme illustré dans la capture d’écran ci-dessous. Cette approche s’avère particulièrement utile pour générer des rapports sur les heures travaillées, effectuer des calculs d’âge ou surveiller des échéances.
Calculer le temps écoulé, les jours, les mois ou les années à l’aide d’une formule
Utiliser un code VBA pour calculer directement le temps écoulé
Calculer le temps écoulé, les jours, les mois ou les années à l’aide d’une formule
Calculer le temps écoulé
Excel permet de calculer facilement la différence entre deux heures — une fonctionnalité idéale pour suivre les horaires des employés, mesurer les délais d’exécution ou surveiller l’avancement d’un projet. Pour des heures situées le même jour, procédez comme suit :
1. Cliquez dans une cellule vide où vous souhaitez afficher le temps écoulé (par exemple, la cellule C2), puis saisissez la formule suivante :
=IF(B2<A2,1+B2-A2, B2-A2)La cellule A2 doit contenir l’heure de début et la cellule B2 l’heure de fin. Cette formule prend en charge les cas où l’heure de fin est antérieure à l’heure de début (par exemple, pour des postes chevauchant minuit), assurant ainsi la justesse du calcul.2. Après avoir saisi la formule, appuyez sur Entrée. Pour l’appliquer aux autres lignes, utilisez la poignée de recopie : cliquez sur le petit carré en bas à droite de la cellule et faites-le glisser vers le bas jusqu’aux derniers enregistrements. Vous calculerez ainsi automatiquement les temps écoulés pour toutes vos entrées.
3. En gardant les cellules de résultat sélectionnées, cliquez avec le bouton droit pour ouvrir le menu contextuel, puis choisissez Définir le format des cellules. Dans la boîte de dialogue Définir le format des cellules, sous l’onglet Nombre, sélectionnez Heure dans la liste de gauche. À droite, choisissez le format horaire souhaité (par exemple hh:mm ou h:mm:ss) pour afficher vos résultats sous forme de durées claires et lisibles.
4. Cliquez sur OK pour appliquer le formatage. Les valeurs horaires seront désormais affichées selon votre choix, facilitant ainsi l’interprétation des durées totales.
Conseils supplémentaires :
- Veillez à ce que les colonnes de début et de fin soient formatées en heures Excel valides pour éviter toute erreur.
- Si certaines heures de fin peuvent se situer le jour suivant (par exemple, pour des postes de nuit), la formule ci-dessus tient compte de ce cas en ajoutant 1 — soit une journée entière — lorsque nécessaire.
- Si vous obtenez une erreur « #VALEUR ! », vérifiez que vos cellules sources ne contiennent ni cellules vides ni données mal formatées.
Calculer les jours, mois ou années écoulés
Déterminer le nombre de jours, de mois ou d’années entre deux dates est une opération courante pour la planification de projets, le calcul des durées de service ou l’estimation de l’âge. Voici une méthode efficace pour chaque cas :
Pour les jours écoulés, cliquez dans une cellule vide (par exemple C2) et saisissez la formule suivante :
=B2-A2Ici, A2 correspond à la date de début et B2 à la date de fin. Après avoir appuyé sur EntréeFaites glisser la poignée de recopie vers le bas pour appliquer les calculs aux lignes supplémentaires.
Remarques : Assurez-vous que les deux dates utilisent le format de date d’Excel ; sinon, le résultat risque d’être incorrect. Si vous souhaitez compter uniquement les jours entiers (en ignorant les heures et les minutes), cette formule est parfaite.
Pour calculer les mois entre deux dates, saisissez dans une cellule vide :
=DATEDIF(A2,B2,"m")Cette formule renvoie le nombre de mois complets écoulés. Si les fractions de mois sont pertinentes, vous pouvez également afficher des mois fractionnaires en les combinant avec les jours.Pour les années (y compris les fractions d’année), utilisez :
=DATEDIF(A2,B2,"y")Si vous souhaitez obtenir les années sous forme décimale, vous pouvez essayer =DATEDIF(A2,B2,"m")/12et formatez la cellule de résultat en nombre pour une précision accrue.Précautions :
- Si la date de fin précède la date de début, ces formules renverront des valeurs négatives ; envisagez d’ajouter une validation.
- Veillez à saisir DATEDIF avec précision : la moindre faute d’orthographe entraînera une erreur « #NOM? » dans Excel, puisque cette fonction n’apparaît pas dans le menu standard des fonctions.
Calculer les années, mois et jours écoulés dans un format combiné
Si votre tâche exige une ventilation plus précise — par exemple « 2 ans, 6 mois et 19 jours » — Excel y parvient aisément grâce à une combinaison astucieuse de la fonction DATEDIF. Idéale pour calculer des anciennetés, des âges ou toute durée nécessitant une distinction claire entre années, mois et jours.
Sélectionnez une cellule vide (par exemple C2) et saisissez la formule suivante :
=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"Appuyez ensuite sur EntréeCette formule combine plusieurs calculs DATEDIF pour générer une chaîne lisible indiquant précisément la durée écoulée.
Si vous devez appliquer la formule à plusieurs lignes, utilisez à nouveau la poignée de recopie. Il est préférable de formater la colonne résultante en « Général » pour garantir un affichage correct du texte.
Astuce utile : Si votre calcul inclut des années bissextiles ou des dates dont les mois ont des durées variables, soyez assuré que DATEDIF effectue des calculs précis conformément au calendrier.
Dépannage et rappels :
- Vérifiez toujours soigneusement vos données sources afin de repérer les cellules vides ou les formats de date/heure incorrects.
- En cas d’erreurs, veillez à reformater les colonnes d’entrée au format « Date » ou « Heure » pour uniformiser vos données.
- Si les formules ne se mettent pas à jour après modification de la cellule source, appuyez sur F9 pour forcer le recalcul ou vérifiez que le calcul automatique est bien activé dans les options d’Excel.
Code VBA pour calculer le temps écoulé entre deux dates et heures
Si vous avez besoin d’automatiser des calculs ou de traiter de grands jeux de données, VBA constitue un outil précieux. Par exemple, vous pouvez fusionner les résultats de temps écoulé dans une seule cellule ou personnaliser le calcul selon vos besoins.
1. Accédez à Outils de développement > Visual Basic ; une nouvelle fenêtre Microsoft Visual Basic pour Applications s’ouvrira. Cliquez sur Insertion > Module et collez le code suivant :
Sub CalcElapsedTimeBySelection()
Dim startRange As Range
Dim endRange As Range
Dim outputCell As Range
Dim ws As Worksheet
Dim i As Long
Dim rowCount As Long
Dim elapsedTime As Double
Dim startTime As Variant, endTime As Variant
Dim xTitleId As String
xTitleId = "Kutools for Excel"
On Error Resume Next
' Prompt user for ranges
Set startRange = Application.InputBox("Select the range for Start Time:", xTitleId, Type:=8)
If startRange Is Nothing Then Exit Sub
Set endRange = Application.InputBox("Select the range for End Time:", xTitleId, Type:=8)
If endRange Is Nothing Then Exit Sub
Set outputCell = Application.InputBox("Select the top-left cell for output results:", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
On Error GoTo 0
' Check matching range sizes
If startRange.Rows.Count <> endRange.Rows.Count Then
MsgBox "The start and end time ranges must have the same number of rows.", vbExclamation, xTitleId
Exit Sub
End If
' Loop through rows
rowCount = startRange.Rows.Count
For i = 1 To rowCount
startTime = startRange.Cells(i, 1).Value
endTime = endRange.Cells(i, 1).Value
If IsNumeric(startTime) And IsNumeric(endTime) Then
elapsedTime = CDbl(endTime) - CDbl(startTime)
' Handle next-day (cross-midnight) case
If elapsedTime < 0 Then elapsedTime = elapsedTime + 1
outputCell.Offset(i - 1, 0).Value = elapsedTime
outputCell.Offset(i - 1, 0).NumberFormat = "[h]:mm:ss"
Else
outputCell.Offset(i - 1, 0).Value = "Invalid Time"
End If
Next i
MsgBox "Elapsed times calculated successfully for " & rowCount & " rows.", vbInformation, xTitleId
End Sub 2. Cliquez sur le bouton
pour exécuter le code. Vous devrez sélectionner la plage horaire de début, la plage horaire de fin, ainsi que l’emplacement d’affichage du temps écoulé. Le résultat s’affichera au format horaire.
Cette approche VBA est particulièrement efficace lorsque vous souhaitez personnaliser davantage le calcul ou le format, et vous permet de gagner du temps si vous travaillez avec des classeurs très volumineux.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels