Tu as deux colonnes avec des dates. Une de début, une de fin. Tu veux juste savoir combien de jours les séparent, et la formule qui te vient en tête n’existe pas dans la liste des fonctions officielles.
Pas de panique. Excel sait faire ça de quatre façons différentes selon ce que tu cherches vraiment: des jours calendaires, des jours ouvrés, ou un écart en années, mois et jours. Les exemples tournent sur des versions récentes d’Excel; si tu bosses encore sur une version antédiluvienne, les ajustements sont notés au passage.
Soustraire deux dates: le réflexe qui marche presque tout le temps
Première chose à comprendre: pour Excel, une date n’est qu’un nombre. Le 01/01/1900 est le jour 1, le 02/01/1900 le jour 2, et ainsi de suite. Un héritage des premiers tableurs et d’un bug de compatibilité avec Lotus 1-2-3. C’est pour ça que lorsqu’on soustrait deux cellules contenant des dates, on obtient directement un écart en jours. Aucune formule compliquée: =A2-B2 si ta date de fin est en A2 et ta date de début en B2.
Ça règle l’essentiel des besoins. Si tu veux connaître le nombre de jours écoulés entre le 25/04/2025 et le 30/04/2025, la soustraction renvoie 5. Le problème, c’est que ce calcul ne compte pas le jour de départ. Entre le 25 et le 30 avril, tu obtiens 5, pas 6. Si ton besoin exige de compter le jour de début (par exemple pour des nuitées d’hôtel ou une durée de location), tu ajoutes 1 à la formule: =A2-B2+1.
⚠️ Attention: si ton résultat s’affiche sous forme de date au lieu d’un nombre, c’est que la cellule a hérité du format Date. Sélectionne-la, fais
Ctrl+1, et impose un format Nombre. Ça arrive tout le temps quand on copie-colle des cellules sans regarder.
Cette méthode traverse les versions d’Excel sans broncher, d’Excel 2016 à Excel 365. Ses seuls écueils: le format des cellules et le premier jour à inclure ou non.
La fonction JOURS: lisible et compatible partout
JOURS (ou DAYS en anglais) fait exactement la même chose que la soustraction, avec une syntaxe qui parle à n’importe qui relisant ton fichier trois mois plus tard: =JOURS(date_fin; date_début), la date de fin en premier. Entre le 01/01/2000 et le 01/01/2020, elle renvoie 7305 jours, et toujours un nombre, peu importe le format de cellule. Elle existe depuis Excel 2013 et elle est reconnue par Google Sheets et LibreOffice. Le jour de début n’est pas inclus: ajoute +1 si tu veux le compter. Sa cousine JOURS360 part du principe que tous les mois font 30 jours: réservée à des contextes comptables anglo-saxons, à éviter dès que tu cherches une précision calendaire.
DATEDIF: le boss caché qui calcule tout, mais sans garantie
C’est la fonction dont personne ne parle dans l’aide intégrée d’Excel, mais que tout le monde utilise depuis vingt ans. DATEDIF n’apparaît pas dans les suggestions automatiques d’Excel, même sur Excel 365 ou Excel 2019. Microsoft la conserve pour des raisons de compatibilité avec Lotus 1-2-3, et continue de la documenter officiellement sur support.microsoft.com; elle est seulement absente de l’aide intégrée et de l’autocomplétion. En clair, tu ne la trouveras pas dans le ruban, et si un jour elle saute lors d’une mise à jour, personne ne viendra s’en plaindre.
Pourtant, elle est redoutable. Sa syntaxe: =DATEDIF(date_début; date_fin; "unité"). L’unité peut être "d" pour les jours, "m" pour les mois, "y" pour les années, et même des combinaisons comme "md" (jours hors mois), "ym" (mois hors années) ou "yd" (jours hors années). Cette granularité permet de sortir des résultats du type « 2 ans, 4 mois, 5 jours » en combinant plusieurs DATEDIF.
Date de début en B1 (01/01/2023), date de fin en A1 (01/03/2025). Pour obtenir l’écart en jours, =DATEDIF(B1; A1; "d") renvoie 790 jours. Si tu veux une décomposition plus lisible:
=DATEDIF(B1; A1; "y") & " an(s), " & DATEDIF(B1; A1; "ym") & " mois, " & DATEDIF(B1; A1; "md") & " jour(s)"
Le résultat sera « 2 ans, 2 mois, 0 jours ». Les unités ym et md gèrent les restes après avoir compté les années entières, ce qui évite les aberrations du style « 26 mois » au lieu de « 2 ans et 2 mois ».
Reste le problème de la pérennité. Si tu montes un fichier destiné à durer ou à être repris par une équipe, préfère des alternatives plus transparentes. La soustraction ou JOURS pour les jours, des formules combinées avec ANNEE, MOIS et JOUR pour le reste. DATEDIF reste un outil de speedrun pour dépanner vite fait, un peu comme une technique de skip qu’on utilise en sachant qu’elle peut être patchée un jour.
📌 À retenir: si tu utilises DATEDIF pour des calculs en mois, souviens-toi que tous les mois n’ont pas 30 jours. L’unité
"d"est la seule parfaitement fiable. Pour le reste, vérifie tes résultats sur un échantillon.
Les jours ouvrés: quand le planning ignore les dimanches

Si tu calcules un délai de livraison ou une durée de projet, les jours calendaires ne suffisent pas. C’est là qu’intervient NB.JOURS.OUVRES (ou NETWORKDAYS en anglais). La formule de base: =NB.JOURS.OUVRES(date_début; date_fin). Par défaut, elle exclut les samedis et dimanches, et renvoie le nombre de jours ouvrés complets entre les deux dates.
Reprenons l’exemple du 25/04/2025 au 30/04/2025. La soustraction donne 5 jours. Si le 26 et le 27 sont un week-end, NB.JOURS.OUVRES renverra 4 jours, car elle ne compte pas ces deux jours-là. Pour inclure une liste de jours fériés, ajoute un troisième argument: =NB.JOURS.OUVRES(date_début; date_fin; plage_fériés). La plage doit pointer vers des cellules contenant les dates de congés. Ceux-ci seront exclus en plus des week-ends.
Il existe aussi NB.JOURS.OUVRES.INTL pour les semaines exotiques (un week-end le vendredi et samedi, par exemple), mais la version classique fait le taf. Point important: contrairement à la soustraction, NB.JOURS.OUVRES compte automatiquement le jour de début. Entre un lundi et un vendredi, tu obtiendras 5 jours, pas 4. C’est cohérent avec la logique de jours « travaillés », où le premier jour est un jour de boulot.
Pour un fichier qui suit des expéditions ou des congés, c’est le premier réflexe à adopter.
Les pièges qui flinguent un calcul en silence
Un fichier bien propre peut partir en vrille à cause d’un détail. Voici les trois plus vicieux.
Le format de cellule qui transforme tout en date
Tu lances une soustraction, tu obtiens « 05/01/1900 » au lieu de 5. C’est que ta cellule a hérité du format Date. Excel interprète le résultat comme un numéro de série et le formate en date. La correction est immédiate: sélection de la cellule, Ctrl+1, onglet Nombre, choisir « Nombre » avec zéro décimale. C’est le piège le plus fréquent, celui qui fait passer un collègue pour un imbécile pendant une réunion.
L’erreur du jour de début non compté
La soustraction et la fonction JOURS ne comptent pas le point de départ. Si ton besoin métier l’exige (durée d’hospitalisation, période de location incluant le jour d’arrivée), l’ajout d’un petit +1 en fin de formule règle le problème. Sans ça, un séjour du 3 janvier 2024 au 5 janvier 2024 sera compté comme 2 jours au lieu de 3. Un écart d’une journée qui peut fausser une facturation.
DATEDIF en silence
Comme la fonction est absente de l’aide intégrée, ne compte pas sur les messages d’erreur. Si tu te trompes dans l’ordre des dates (date_début > date_fin), certaines versions renvoient #NOMBRE! sans explication. L’unité "md" peut aussi produire des résultats incohérents: entre un 31 janvier et un 1er mars, elle renvoie 1 jour ou autre chose selon l’implémentation. Reste sur "d" si tu veux dormir tranquille.
Et si la date était mal reconnue?
Un dernier truc: vérifie que tes dates sont de vraies dates. Une cellule peut ressembler à une date et n’être que du texte. Élargis la colonne: si le contenu se cale à gauche, c’est du texte (Excel aligne les nombres, donc les dates, à droite). Dans ce cas, aucune formule ne fonctionnera. L’outil « Convertir » du ruban Données ou la fonction DATEVAL forcent la reconnaissance.
Une fois ce point réglé, le choix se fait en trois secondes: soustraction + formatage de cellule pour les jours calendaires, NB.JOURS.OUVRES pour les délais pros, JOURS pour la lisibilité. Si tu veux creuser les formats personnalisés ou les formules matricielles qui calculent des jours hors week-ends spécifiques, la section tutos high-tech de ce site couvre régulièrement des astuces Excel qui sortent des sentiers battus.
Questions fréquentes
Pourquoi la soustraction donne un jour de moins que ce que j’attendais?
Parce que la soustraction ne compte que les intervalles complets entre deux dates, sans inclure le jour de départ. Entre un lundi et un mardi, la différence est de 1 jour, alors que tu attendais 2 si tu comptes les deux bornes. Ajouter +1 à la formule corrige ça.
Est-ce que je peux utiliser JOURS sur mon vieil Excel 2010?
Non. La fonction JOURS est apparue avec Excel 2013. Sur une version antérieure, tu dois utiliser la soustraction simple, qui fonctionne depuis toujours. Le résultat est le même, seule la clarté change.
DATEDIF donne des résultats bizarres avec l’unité « md », c’est normal?
Oui, l’unité « md » calcule les jours restants en ignorant les mois et les années, mais le point de référence interne d’Excel peut déraper si le mois de départ n’existe pas dans le mois d’arrivée (ex. 31 janvier → 28 février). Résultat: des écarts surprenants. L’unité « d » est la seule à utiliser les yeux fermés.
Comment exclure aussi les jours fériés dans mon calcul de jours ouvrés?
Ajoute un troisième argument à NB.JOURS.OUVRES: une plage de cellules listant toutes les dates fériées. Par exemple =NB.JOURS.OUVRES(B1; C1; F2:F15). Excel exclura ces dates en plus des week-ends. Pense à mettre ta liste de jours fériés sur une feuille séparée pour ne pas encombrer ton tableau principal.
Votre recommandation sur calculer le nombre de jours entre deux dates sur excel
Quelques questions rapides pour adapter la recommandation à votre cas.
Merci, voici notre conseil personnalisé sur calculer le nombre de jours entre deux dates sur excel.
D'après vos réponses, le mieux est de reprendre l'article ci-dessus en focalisant sur les passages qui parlent de votre situation : c'est là que se trouvent les recommandations les plus concrètes pour vous. Bonne lecture !