Qu'est-ce que la fonction NB. JOURS. OUVRES ?
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
=NB.JOURS.OUVRES(date_début; date_fin; [jours_fériés])Clique sur un argument pour aller à son explication.

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.
date_début
: la date de départ de ta périodeTu 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.
date_fin
: la date de fin de ta périodeMê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.
[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.

Exemples pratiques pas à pas
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.
- 1Dans une cellule, écris
=NB.JOURS.OUVRES(. - 2En 1er argument : clique sur la cellule qui porte la date de début,
B2. Elle affiche02/03/2026, le premier jour du projet Alpha, et cette date entre dans le total plutôt que de servir de simple borne. - 3En 2ᵉ argument : clique sur la cellule qui porte la date de fin,
C2. Elle vaut13/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. - 4Ferme 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
10jours ouvrés.
=NB.JOURS.OUVRES(B2; C2)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.
- 1Dans une cellule, écris
=NB.JOURS.OUVRES(. - 2En 1er argument : clique sur la cellule qui porte la date de début de l'absence,
B2. Elle affiche04/05/2026, le premier jour posé par Camille Roux, et la fonction la compte dans le total. - 3En 2ᵉ argument : clique sur la cellule qui porte la date de fin,
C2. Elle vaut15/05/2026, et entre ces deux bornes il y a deux semaines pleines, soit10jours ouvrés avant la déduction des fériés. - 4En 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. - 5Ferme la parenthèse et appuie sur Entrée.
=NB.JOURS.OUVRES(B2; C2; $E$2:$E$5)
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.

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ère | NB.JOURS.OUVRES | JOURS | DATEDIF | NB.JOURS.OUVRES.INTL |
|---|---|---|---|---|
| Exclut les week-ends | ✅ Sam-Dim | ❌ Non | ❌ Non | ✅ Personnalisable |
| Gère les jours fériés | ✅ Oui | ❌ Non | ❌ Non | ✅ Oui |
| Résultat | Jours ouvrés | Jours calendaires | Jours/mois/années | Jours ouvrés |
| Choix des jours de repos | ❌ Sam-Dim fixe | ❌ Aucun | ❌ Aucun | ✅ Flexible |
| Cas d'usage typique | Planning, congés, RH | Délais simples | Calculs d'âge | Pays avec week-end spécifique |

Astuces avancées avec NB.JOURS.OUVRES
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.
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.
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.
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.
Pas besoin de calculs spéciaux. Si un jour férié tombe un samedi ou dimanche, Excel l'ignore automatiquement puisque ces jours sont déjà exclus du calcul. Liste simplement tous tes jours fériés sans te soucier du jour de la semaine.
Absolument. La fonction fonctionne sur n'importe quelle période, qu'elle dure 3 jours ou 10 ans. Entre le 01/01/2020 et le 31/12/2024, la formule calculera tous les jours ouvrés sur ces 5 années, à condition de bien lister tous les jours fériés de cette période.
La fonction renvoie un nombre négatif. Si tu calcules entre le 31/12/2024 et le 01/01/2024, tu obtiens environ -261 jours ouvrés. C'est pratique pour savoir qu'il manque des jours, mais pense à vérifier l'ordre de tes dates si tu obtiens un résultat négatif inattendu.
Crée un onglet dédié (par exemple « Référentiel ») et liste tous les jours fériés de l'année en colonne. Donne un nom à cette plage (Ctrl+F3) comme « JoursFériés2024 ». Ensuite, utilise =NB.JOURS.OUVRES(A1; B1; JoursFériés2024) dans toutes tes formules. Tu n'auras qu'à mettre à jour cette liste chaque année.
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 voirLes dates et heures dans Excel

Le modèle Excel « Congés payés »

Le guide complet pour bien démarrer sur Excel



