Aller au contenu principal

Qu'est-ce que la fonction NB.JOURS.OUVRES ?

Définition
La fonction NB.JOURS.OUVRES calcule le nombre de jours ouvrés (du lundi au vendredi) entre deux dates, en excluant optionnellement une liste de jours fériés. Les dates de début et de fin sont incluses dans le décompte.

NB.JOURS.OUVRES (NETWORKDAYS en anglais) t'évite de compter les jours un par un sur un calendrier chaque fois qu'un planning, un solde de congés ou un délai de livraison doit exclure les week-ends et les jours fériés. Une seule formule remplace le pointage manuel, et elle se met à jour toute seule dès que les dates bougent.

Concrètement, c'est elle qui te dit en un clin d'oeil combien de jours un employé a réellement consommés sur son solde de congés, combien de jours de travail effectifs ton équipe a pour un sprint, ou combien de jours de retard de paiement facturer à un client en tenant compte du 11 novembre.

Syntaxe

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction NB.JOURS.OUVRES

Les deux premiers arguments sont obligatoires et leur ordre compte : tu donnes d'abord la date de départ, puis la date d'arrivée. Si tu les intervertis, le résultat devient négatif. Le troisième, la liste des jours fériés, est facultatif : sans lui, la fonction enlève juste les week-ends.

1

date_début

: la date de départ de ta période

Tu peux la saisir directement entre guillemets comme "15/01/2024", référencer une cellule comme A2, ou utiliser la fonction DATE(2024; 1; 15). Cette date est incluse dans le décompte.

2

date_fin

: la date de fin de ta période

Mêmes formats acceptés que pour la date de début. Cette date est également incluse dans le décompte. Si la date de fin est antérieure à la date de début, le résultat sera négatif.

3

[jours_fériés]

: une plage de cellules contenant les dates des jours fériés à exclure du calcul(facultatif)

Par exemple, si tes jours fériés sont listés en E2:E12, la fonction soustraira ces jours du total. Si tu n'as pas de jours fériés à gérer, tu peux omettre ce paramètre.

Le conseil du pro
Regroupe tous tes jours fériés dans un onglet dédié et nomme la plage (Ctrl et F3), par exemple JoursFériés2024. Tu réutilises ce nom dans toutes tes formules NB.JOURS.OUVRES et tu n'as qu'une seule liste à mettre à jour chaque année.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer le nombre de jours ouvrés entre deux dates avec la fonction NB.JOURS.OUVRES

Le planning de l'année doit être bouclé avant le comité de lundi, et on te demande la durée réelle de chaque projet. Tu as la date de début et la date de fin des douze projets, et tu veux savoir combien de jours de travail elles représentent vraiment une fois les week-ends déduits. La fonction NB.JOURS.OUVRES fait ce décompte ligne par ligne, sans que tu aies à ouvrir un calendrier pour pointer les samedis et les dimanches.

Les étapes
  1. 1
    Dans une cellule, écris =NB.JOURS.OUVRES(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la date de début, B2. Elle affiche 02/03/2026, le premier jour du projet Alpha, et cette date entre dans le total plutôt que de servir de simple borne.
  3. 3
    En 2ᵉ argument : clique sur la cellule qui porte la date de fin, C2. Elle vaut 13/03/2026, elle est comptée elle aussi, et elle doit venir après la date de début sinon la fonction renvoie un nombre négatif.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Sans liste de jours fériés, la fonction ne retire que les week-ends, et il reste les deux semaines pleines du projet Alpha, soit 10 jours ouvrés.
Au final, ta formule devrait ressembler à ça :=NB.JOURS.OUVRES(B2; C2)
Explication
Ici, la fonction parcourt chaque jour du 02/03/2026 au 13/03/2026, écarte les samedis et les dimanches, et compte ce qu'il reste. Le projet Alpha tombe pile sur deux semaines pleines de travail, d'où les 10 jours ouvrés. Recopiée vers le bas, la formule donne la durée réelle de chacun des douze projets.
Exemple 2

Comment exclure les jours fériés avec la fonction NB.JOURS.OUVRES

Un salarié t'appelle pour savoir ce qu'il lui reste sur son compteur de congés, et le mois de mai est truffé de ponts. Tu as la date de départ et la date de retour de chaque absence, plus la liste des jours fériés de la période dans une colonne à part. La fonction NB.JOURS.OUVRES retire les week-ends et ces jours fériés du décompte, pour ne prendre au compteur que les jours réellement posés.

Les étapes
  1. 1
    Dans une cellule, écris =NB.JOURS.OUVRES(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la date de début de l'absence, B2. Elle affiche 04/05/2026, le premier jour posé par Camille Roux, et la fonction la compte dans le total.
  3. 3
    En 2ᵉ argument : clique sur la cellule qui porte la date de fin, C2. Elle vaut 15/05/2026, et entre ces deux bornes il y a deux semaines pleines, soit 10 jours ouvrés avant la déduction des fériés.
  4. 4
    En 3ᵉ argument : sélectionne la plage des jours fériés à retirer, $E$2:$E$5. Les dollars figent cette plage pour qu'elle ne glisse pas quand tu recopies la formule vers le bas, et chaque date de la liste qui tombe dans la période est déduite du total.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=NB.JOURS.OUVRES(B2; C2; $E$2:$E$5)
Explication
La fonction part des 10 jours ouvrés qui séparent le 04/05/2026 du 15/05/2026, puis confronte cette période à la liste des fériés : le 08/05 et le 14/05 tombent dedans et sautent, ce qui laisse 8 jours à décompter. Le 01/05 est bien dans la liste, mais hors de la période, donc il ne change rien au total de Camille Roux.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction NB.JOURS.OUVRES

Le coupable numéro un, c'est une date qui ressemble à une date sans en être une : importée d'un CSV, elle reste du texte, et tu récoltes un #VALEUR!. Les autres soucis sont plus sournois car la fonction te répond quand même : un total négatif quand tes deux dates sont à l'envers, ou des jours fériés ignorés parce que la plage pointe vers des cellules vides.

Erreur #VALEUR! avec des dates en texte

Si tes dates sont stockées en format texte (par exemple "15/01/2024" importé depuis un CSV), Excel ne les reconnaît pas comme des dates et renvoie #VALEUR!.

Solution : Utilise la fonction DATEVAL pour convertir : =NB.JOURS.OUVRES(DATEVAL(A1); DATEVAL(B1)). Ou change le format des cellules en « Date » et ressaisis les valeurs.

Résultat négatif inattendu

Si tu obtiens un nombre négatif alors que tu attends un résultat positif, c'est que tu as inversé les dates : la date de fin est antérieure à la date de début.

Solution : Vérifie l'ordre de tes paramètres. La date_début doit toujours être chronologiquement avant ou égale à la date_fin.

Les jours fériés ne sont pas pris en compte

Tu as renseigné des jours fériés mais le résultat ne change pas. C'est souvent parce que la plage de jours fériés pointe vers des cellules vides ou contenant du texte non reconnu comme des dates.

Solution : Assure-toi que les cellules de jours fériés sont bien formatées en « Date » et contiennent des dates valides. Teste d'abord avec une seule cellule : =NB.JOURS.OUVRES(A1; B1; C1).

Confusion entre jours calendaires et jours ouvrés

Certains comparent le résultat de NB.JOURS.OUVRES avec une simple soustraction de dates et sont surpris du résultat différent.

Solution : Rappelle-toi que =B1-A1 donne le nombre de jours calendaires (tous les jours), tandis que NB.JOURS.OUVRES ne compte que du lundi au vendredi. Un écart de 30-40% est normal.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

NB.JOURS.OUVRES vs JOURS vs DATEDIF vs NB.JOURS.OUVRES.INTL

Tant que ta semaine de travail va du lundi au vendredi, NB.JOURS.OUVRES est le bon choix : elle retire les week-ends et tes jours fériés sans rien configurer. Prends JOURS ou DATEDIF seulement quand tu veux tous les jours du calendrier, week-ends compris. Et bascule sur NB.JOURS.OUVRES.INTL dès que tes jours de repos ne sont pas samedi-dimanche, par exemple pour une équipe au Moyen-Orient.

CritèreNB.JOURS.OUVRESJOURSDATEDIFNB.JOURS.OUVRES.INTL
Exclut les week-ends✅ Sam-Dim❌ Non❌ Non✅ Personnalisable
Gère les jours fériés✅ Oui❌ Non❌ Non✅ Oui
RésultatJours ouvrésJours calendairesJours/mois/annéesJours ouvrés
Choix des jours de repos❌ Sam-Dim fixe❌ Aucun❌ Aucun✅ Flexible
Cas d'usage typiquePlanning, congés, RHDélais simplesCalculs d'âgePays avec week-end spécifique
Le savais-tu ?
NB.JOURS.OUVRES compte du lundi au vendredi et inclut à la fois la date de début et la date de fin dans le total. Un jour férié tombant un week-end est ignoré d'office, puisque le samedi et le dimanche sont déjà exclus.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec NB.JOURS.OUVRES

1Astuce

Calculer un pourcentage d'avancement basé sur les jours ouvrés

Pour savoir quel pourcentage du temps disponible est déjà écoulé, divise les jours passés par les jours totaux : =NB.JOURS.OUVRES(date_début; AUJOURDHUI()) / NB.JOURS.OUVRES(date_début; date_fin).
Formate le résultat en pourcentage et tu obtiens un indicateur d'avancement précis basé sur les jours de travail effectifs.

2Astuce

Centraliser les jours fériés pour toutes tes formules

Crée un tableau structuré dans un onglet dédié avec une colonne « Date ». Donne un nom à cette plage via Ctrl+F3 (ex. « ListeFériés ») et utilise ce nom dans toutes tes formules.
Tu n'auras qu'à mettre à jour cette liste une fois par an, sans toucher aux formules.

3Astuce

Passer à NB.JOURS.OUVRES.INTL pour les équipes internationales

Si ton entreprise gère des équipes au Moyen-Orient (week-end vendredi-samedi) ou avec un seul jour de repos, NB.JOURS.OUVRES ne suffit plus. NB.JOURS.OUVRES.INTL accepte un paramètre week-end sous forme de code (ex. 7 = vendredi-samedi).
Utilise NB.JOURS.OUVRES pour la majorité des cas en France ; passe à l'INTL uniquement si les jours de repos diffèrent.

FAQ

Questions fréquentes

Oui, NB.JOURS.OUVRES considère par défaut samedi et dimanche comme des jours de repos. Seuls les jours du lundi au vendredi sont comptés. Si ton entreprise travaille selon un autre rythme (par exemple dimanche-jeudi), utilise NB.JOURS.OUVRES.INTL qui permet de personnaliser les jours de repos.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction NB.JOURS.OUVRES : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir