La différence entre deux dates dans Excel se calcule en exploitant le fait qu’une date est stockée comme un nombre entier : soustraire deux cellules de type date donne directement un nombre de jours. À partir de ce principe, plusieurs formules permettent d’obtenir des écarts en semaines, en mois ou en années, et de les intégrer dans des rapports qui se recalculent automatiquement à chaque mise à jour des données sources.
DATEDIF : la formule de calcul de différence entre dates la plus complète
DATEDIF est une fonction non documentée dans l’interface d’Excel, héritée de Lotus 1-2-3, mais pleinement fonctionnelle. Sa syntaxe est DATEDIF(date_début ; date_fin ; unité), où l’unité détermine ce que la fonction renvoie.
- Unité « Y » : nombre d’années complètes entre les deux dates. Utile pour calculer une ancienneté ou un âge dans un rapport RH.
- Unité « M » : nombre de mois complets. Pratique pour mesurer la durée d’un contrat ou d’un abonnement en périodes entières.
- Unité « D » : nombre de jours complets. C’est l’unité la plus directe, équivalente à une simple soustraction.
- Unité « YM » : mois résiduels après déduction des années complètes. Permet de composer un affichage « 2 ans et 4 mois ».
- Unité « MD » : jours résiduels après déduction des mois complets. Microsoft signale des résultats incorrects avec cette unité pour les dates en fin de mois ; mieux vaut la tester sur des dates du 29 au 31 avant de l’utiliser dans un rapport de production.
Pour un rapport qui affiche la durée d’un projet sous la forme « X années, Y mois, Z jours », on combine trois appels DATEDIF dans une même formule de concaténation. Le résultat se recalcule à chaque ouverture du classeur sans aucune intervention manuelle.
Soustraction directe et formules alternatives pour les jours ouvrés
La soustraction simple =B2-A2 suffit quand l’écart en jours calendaires est suffisant. Il faut s’assurer que les deux cellules sont au format « Nombre » pour afficher un entier, et non au format « Date » qui transformerait le résultat en une date illisible.
Un calcul de durée calendaire ne répond pas toujours à la question métier. Pour les délais de traitement, les plannings de livraison ou les indicateurs RH, ce sont les jours ouvrés qui comptent. La fonction NB.JOURS.OUVRES(date_début ; date_fin) exclut automatiquement les samedis et dimanches. Elle accepte un troisième argument optionnel : une plage contenant les jours fériés à exclure en plus du week-end.
Pour les plannings décalés, NB.JOURS.OUVRES.INTL va plus loin : elle permet de définir n’importe quelle combinaison de jours de repos via un paramètre numérique, par exemple « 2 » pour exclure dimanche et lundi, ce qui correspond à certains secteurs d’activité spécifiques.

Structurer les données de dates pour qu’un rapport se recalcule automatiquement
La fiabilité d’un rapport automatisé repose autant sur la structure du classeur que sur les formules elles-mêmes. Une cellule qui contient une date saisie comme du texte (« 15/06/2024 » en texte brut) renverra une erreur silencieuse : la formule s’exécute sans message d’erreur mais produit un résultat faux.
Deux réflexes structurels évitent la majorité des problèmes.
Le premier : placer toutes les dates sources dans une table structurée Excel (raccourci Ctrl+T). Les colonnes d’une table structurée s’étendent automatiquement aux nouvelles lignes, ce qui signifie que les formules de calcul de différence s’appliquent sans réécriture à chaque ajout de données. Le rapport hérite de cette extensibilité.
Le second : normaliser le format de date dès l’import. Si les données viennent d’un export CSV ou d’un outil externe, les dates peuvent arriver au format texte ou dans un format régional différent. Power Query permet de convertir ces colonnes en type « Date » de manière reproductible : la transformation est enregistrée une seule fois et s’applique à chaque actualisation, sans manipulation manuelle.
Utiliser des noms de cellules pour rendre les formules lisibles
Dans un rapport destiné à plusieurs utilisateurs, des formules comme =DATEDIF(A2;B2;"Y") ne permettent pas de comprendre ce qui est calculé sans lire le contexte. Nommer les plages de dates (menu Formules > Gestionnaire de noms) transforme la même formule en =DATEDIF(Date_embauche;Date_depart;"Y"), ce qui documente le calcul dans la formule elle-même et réduit les erreurs de maintenance.
Intégrer les calculs de dates dans un rapport automatisé avec Power Query
Quand le volume de données augmente ou que plusieurs sources alimentent le même rapport, les formules cellule par cellule atteignent leurs limites. Power Query prend alors le relais pour calculer des colonnes de durée directement dans l’étape de transformation.
Dans l’éditeur Power Query, une colonne calculée s’obtient via « Ajouter une colonne » > « Colonne personnalisée ». La syntaxe utilise le langage M : Duration.Days([Date_fin] - [Date_debut]) renvoie un entier correspondant à l’écart en jours. Ce calcul s’applique à l’ensemble du tableau en une seule opération et se recalcule à chaque clic sur « Actualiser tout ».
L’avantage de cette approche est la traçabilité : chaque transformation est listée dans le panneau « Étapes appliquées », ce qui permet de comprendre l’ordre de calcul et de corriger une étape sans tout reconstruire. Pour un reporting récurrent partagé entre plusieurs collaborateurs, cette lisibilité est un facteur de fiabilité autant qu’un gain de temps.
Automatiser la mise à jour avec une connexion à la source
Un rapport vraiment automatisé ne demande pas de copier-coller de nouvelles données. La connexion Power Query à un fichier source (CSV, fichier partagé, base de données) permet de reconstruire l’ensemble des calculs de dates et des indicateurs dérivés d’un simple clic sur « Actualiser ». Si la source est un tableau structuré dans le même classeur, l’actualisation est instantanée.
La combinaison d’une source structurée, de transformations Power Query documentées et de formules DATEDIF ou NB.JOURS.OUVRES dans les tableaux de synthèse couvre la majorité des besoins de reporting automatisé sans recourir à du code VBA. Ce socle reste lisible, maintenable et transférable à un autre utilisateur sans formation spécifique.

