Calculer une différence entre deux dates dans Excel, la plupart des guides s’arrêtent à DATEDIF et à la soustraction directe. Le problème commence quand le résultat attendu n’est pas un nombre de jours calendaires, mais un nombre de jours ouvrés réels, ceux où l’équipe travaille effectivement. Excel dispose de fonctions dédiées pour ce calcul, mais leur comportement par défaut ne couvre pas tous les cas de figure, notamment les semaines de quatre jours ou les week-ends décalés.
NB.JOURS.OUVRES et NB.JOURS.OUVRES.INTL : deux fonctions, deux logiques
Excel propose deux fonctions distinctes pour compter les jours ouvrés entre deux dates. La première, NB.JOURS.OUVRES, exclut automatiquement les samedis et dimanches. La seconde, NB.JOURS.OUVRES.INTL, permet de choisir quels jours de la semaine sont considérés comme week-end.
A lire en complément : comment convertir 6 200 ko en mo facilement
La syntaxe de base de NB.JOURS.OUVRES est simple :
=NB.JOURS.OUVRES(date_debut; date_fin; [jours_feries])
A découvrir également : Excel transformer des lignes en colonnes : les bonnes pratiques 2026 pour vos fichiers
Le troisième argument accepte une plage de cellules contenant vos jours fériés et congés chômés. Cette plage est facultative, mais sans elle, la fonction ne retire que les samedis et dimanches, pas le 1er mai ni le 15 août.
Pour NB.JOURS.OUVRES.INTL, un paramètre supplémentaire s’intercale entre la date de début et la date de fin :
=NB.JOURS.OUVRES.INTL(date_debut; date_fin; week_end; [jours_feries])
C’est ce paramètre week_end qui change tout. Il accepte soit un code numérique prédéfini (par exemple 11 pour le dimanche seul), soit une chaîne de sept caractères binaires représentant chaque jour de la semaine.

Calculer des jours ouvrés Excel avec un week-end non standard
La majorité des tutoriels partent du principe que le week-end tombe le samedi et le dimanche. En revanche, certaines entreprises fonctionnent du dimanche au jeudi, d’autres ont adopté la semaine de quatre jours avec un week-end de trois jours. Les codes prédéfinis de NB.JOURS.OUVRES.INTL couvrent déjà plusieurs configurations :
- Le code 2 exclut le dimanche et le lundi, adapté aux commerces fermés en début de semaine.
- Le code 7 exclut uniquement le vendredi, utile pour les calendriers où le repos hebdomadaire tombe ce jour-là.
- Le code 11 exclut le dimanche seul, ce qui donne six jours ouvrés par semaine.
Ces codes couvrent les cas courants. Pour des configurations plus spécifiques, la chaîne binaire de sept caractères offre une liberté totale.
La chaîne binaire pour une semaine de 4 jours
Chaque caractère de la chaîne représente un jour, du lundi au dimanche. Un « 1 » signifie jour chômé, un « 0 » signifie jour travaillé. Pour une entreprise qui ne travaille pas le mercredi, le samedi et le dimanche, la chaîne serait "0010011".
La formule complète ressemble à ceci :
=NB.JOURS.OUVRES.INTL(A2; B2; "0010011"; C2:C20)
Avec cette approche, le calcul reflète exactement le calendrier réel de l’entreprise, pas un standard théorique. La plage C2:C20 contient les jours fériés à exclure en plus des jours chômés hebdomadaires.
Gérer la liste des jours fériés dans la formule Excel
Le troisième argument (ou quatrième pour la version INTL) est souvent négligé. Sans lui, la fonction retourne un nombre de jours ouvrés « brut », qui ignore les jours fériés nationaux ou les fermetures exceptionnelles.
La méthode la plus fiable consiste à créer un onglet dédié dans le classeur, avec la liste complète des jours chômés pour l’année en cours. Chaque date occupe une cellule, formatée en date.
- Listez les jours fériés légaux fixes (1er janvier, 1er mai, 25 décembre, etc.).
- Ajoutez les jours fériés mobiles (lundi de Pâques, Ascension) qui changent chaque année.
- Intégrez les jours de fermeture propres à l’entreprise (ponts, congés collectifs).
- Nommez cette plage (par exemple « Feries ») pour simplifier l’écriture de la formule :
=NB.JOURS.OUVRES.INTL(A2; B2; 1; Feries).
Cette plage nommée peut être référencée dans tout le classeur. Mettre à jour la liste une fois par an suffit pour que toutes les formules qui l’utilisent restent exactes.

Pourquoi DATEDIF ne convient pas pour les jours ouvrés
DATEDIF calcule une différence entre deux dates en jours calendaires, en mois ou en années. Elle ne distingue pas les jours travaillés des jours chômés. Microsoft maintient cette fonction principalement pour la compatibilité avec d’anciens classeurs créés sous Lotus 1-2-3, et la documentation officielle signale qu’elle peut produire des résultats incorrects dans certains scénarios.
Pour une différence brute en jours calendaires, Microsoft recommande la fonction JOURS dans les versions modernes d’Excel plutôt que DATEDIF. La syntaxe est plus lisible : =JOURS(date_fin; date_debut).
La confusion vient du fait que beaucoup de guides traitent « différence entre deux dates » et « jours ouvrés » comme un même sujet. Ce sont deux questions distinctes. La première relève de JOURS ou d’une simple soustraction. La seconde nécessite NB.JOURS.OUVRES ou sa variante INTL.
Limites connues et cas où Excel ne suffit plus
La chaîne binaire de NB.JOURS.OUVRES.INTL part du principe que le schéma hebdomadaire est constant. Si une entreprise alterne entre semaines de quatre et cinq jours selon les périodes, la fonction standard ne gère pas ce cas. Il faudrait alors passer par une formule matricielle combinant SOMMEPROD et JOURSEM, ou utiliser Power Query pour croiser un calendrier personnalisé jour par jour.
Dans l’écosystème Microsoft Fabric, la logique est d’ailleurs explicitement séparée : DATEDIFF traite les jours calendaires, NETWORKDAYS traite les jours ouvrés. Cette distinction confirme que mélanger les deux approches dans un même calcul mène à des erreurs.
Les retours terrain divergent aussi sur la gestion des demi-journées. Une entreprise qui ferme le vendredi après-midi ne peut pas représenter ce cas avec une chaîne binaire, chaque jour étant soit entièrement travaillé, soit entièrement chômé. Pour ces situations, un comptage horaire via des timestamps remplace avantageusement le comptage en jours.
Le choix entre NB.JOURS.OUVRES et NB.JOURS.OUVRES.INTL dépend donc du calendrier réel de travail. Pour un week-end samedi-dimanche classique avec une liste de jours fériés, la première fonction suffit. Dès que le rythme hebdomadaire s’écarte du standard, la version INTL avec sa chaîne binaire devient la seule option fiable sans recourir à des formules avancées.

