Qu'est-ce que la fonction NB. JOURS. OUVRES. INTL ?
NB.JOURS.OUVRES.INTL (NETWORKDAYS.INTL en anglais) te sert dès que la version classique de la fonction fausse ton calcul, parce qu'elle impose un week-end samedi-dimanche qui ne correspond pas à la réalité du terrain. Tu t'en sers pour que ton compte de jours travaillés colle vraiment au rythme de chaque site, plutôt que d'appliquer un standard européen partout par défaut.
C'est la fonction incontournable dès que tu travailles avec des équipes internationales, des filiales au Moyen-Orient (week-end vendredi-samedi), des collaborateurs à la semaine de 4 jours, ou tout calendrier qui sort du standard européen. Elle calcule précisément les jours ouvrés entre deux dates tout en excluant les week-ends et les jours fériés que tu indiques.
Syntaxe
=NB.JOURS.OUVRES.INTL(date_début; date_fin; [fin_de_semaine]; [jours_fériés])Clique sur un argument pour aller à son explication.
Si tu omets fin_de_semaine, Excel applique le code 1 (samedi-dimanche). La date de début et la date de fin sont toutes deux incluses dans le calcul si elles tombent sur un jour ouvré.

Comprendre chaque paramètre de la fonction NB.JOURS.OUVRES.INTL
date_début
: la date de départ de ta périodeTu peux la saisir directement entre guillemets comme "01/01/2024", référencer une cellule comme A2, ou utiliser une fonction date comme AUJOURDHUI(). Cette date est incluse dans le calcul si elle tombe sur un jour ouvré.
Utilise toujours le format de date reconnu par Excel pour éviter les erreurs. Si tu tapes du texte dans un format inhabituel, Excel risque de ne pas le convertir en date.
date_fin
: la date d'arrivée de ta périodeComme pour date_début, tu peux utiliser une date directe, une référence de cellule, ou une formule. Si date_fin est antérieure à date_début, Excel retourne un nombre négatif.
Exemple : pour calculer les jours ouvrés depuis le 1er janvier jusqu'à aujourd'hui, tu peux écrire =NB.JOURS.OUVRES.INTL("01/01/2024"; AUJOURDHUI()).
[fin_de_semaine]
: c'est ici que réside la puissance de la version INTL(facultatif)Ce paramètre définit quels jours sont considérés comme week-end. Tu peux utiliser un code numérique (1 à 17) pour les configurations standards, ou une chaîne de 7 caractères pour une personnalisation totale.
Codes les plus utilisés : 1 (défaut) = samedi-dimanche (Europe, Amérique) ; 7 = vendredi-samedi (Moyen-Orient) ; 11 = dimanche uniquement (semaine de 6 jours) ; 12 = lundi uniquement.
Pour une personnalisation totale, utilise une chaîne de 7 caractères : "0000011" où chaque chiffre représente un jour de dimanche à samedi, 0 = jour travaillé, 1 = jour non travaillé. Par exemple "0000111" exclut vendredi, samedi et dimanche, ne comptant que les lundis à jeudis.
[jours_fériés]
: une plage de cellules contenant les dates des jours fériés à exclure du calcul(facultatif)Ces dates doivent être au format date Excel (pas du texte). Excel les soustrait automatiquement du décompte des jours ouvrés.
Tu peux référencer n'importe quelle plage : E1:E10 pour 10 jours fériés, ou une plage nommée comme JoursFériés pour encore plus de lisibilité.

Exemples pratiques pas à pas
Comment compter le nombre de jours ouvrés entre deux dates avec la fonction NB.JOURS.OUVRES.INTL
Ton portefeuille de projets affiche pour chacun une date de début et une date de fin, mais la durée qui t'intéresse en réunion est celle où l'équipe travaille vraiment. Compter les jours du calendrier gonflerait chaque projet des week-ends qu'il traverse. La fonction NB.JOURS.OUVRES.INTL retire les week-ends d'un coup et te donne la durée utile de chaque projet.
- 1Dans une cellule, écris
=NB.JOURS.OUVRES.INTL(. - 2En 1er argument : clique sur la cellule qui porte la date de début,
B2. Elle affiche01/01/2024, un lundi, donc la fonction la compte dès lors qu'elle tombe un jour travaillé. - 3En 2ᵉ argument : clique sur la cellule qui porte la date de fin,
C2. Elle vaut31/01/2024et compte elle aussi, la fonction travaillant sur un intervalle fermé aux deux bouts. - 4Ferme la parenthèse et appuie sur Entrée. Sans code de week-end ni liste de jours fériés, la fonction écarte le samedi et le dimanche comme sa version classique, ce qui laisse les
23jours ouvrés du mois.
=NB.JOURS.OUVRES.INTL(B2; C2)23 jours ouvrés affichés. Les deux dates bornes sont comptées quand elles tombent en semaine, et c'est bien le cas du lundi 01/01/2024 ici : la fonction ne connaît aucun jour férié tant que tu ne lui en donnes pas.Comment compter le nombre de jours ouvrés avec un week-end personnalisé avec la fonction NB.JOURS.OUVRES.INTL
Tes trois sites ne ferment pas les mêmes jours : le bureau suit le rythme classique, la boutique ouvre le samedi et l'entrepôt tourne sept jours sur sept. Sur le même mois de janvier, chacun n'a donc pas le même nombre de jours travaillés, et un calcul unique fausserait la capacité de deux d'entre eux. La fonction NB.JOURS.OUVRES.INTL accepte de décrire le repos hebdomadaire site par site.
- 1Dans une cellule, écris
=NB.JOURS.OUVRES.INTL(. - 2En 1er argument : clique sur la cellule qui porte la date de début,
B2. Elle vaut01/01/2024, identique pour les trois sites afin que seul le repos hebdomadaire fasse varier le résultat. - 3En 2ᵉ argument : clique sur la cellule qui porte la date de fin,
C2. Elle vaut31/01/2024et reste identique pour les trois sites, si bien que l'écart entre eux ne peut venir que du réglage suivant. - 4En 3ᵉ argument : clique sur la cellule qui porte le masque de repos hebdomadaire,
D2. Elle contient"0000011", sept caractères pour les sept jours du lundi au dimanche,0pour un jour travaillé et1pour un jour de repos, si bien que le bureau ferme le samedi et le dimanche. En recopiant la formule vers le bas, tu lis"0000001"pour la boutique qui ne ferme que le dimanche, et"0000000"pour l'entrepôt qui tourne sept jours sur sept. - 5Ferme la parenthèse et appuie sur Entrée. Le bureau ressort à
23jours ouvrés, quand la boutique en compte27et l'entrepôt les31du mois.
=NB.JOURS.OUVRES.INTL(B2; C2; D2)1 marquant un jour de repos. "0000011" repose donc le samedi et le dimanche et redonne les 23 jours de l'exemple 1, tandis que "0000001" ne ferme que le dimanche et fait grimper le même mois à 27 jours, soit quatre samedis de plus. C'est ce réglage qui justifie à lui seul l'existence de la fonction.Comment exclure les jours fériés du nombre de jours ouvrés avec la fonction NB.JOURS.OUVRES.INTL
Le mois de mai est le cauchemar des plannings français, avec ses fériés qui s'empilent en pleine semaine. Ton calcul de capacité annonce vingt-trois jours travaillés alors que l'équipe sait déjà qu'elle en fera moins. La fonction NB.JOURS.OUVRES.INTL accepte une liste de dates à retirer en plus du repos hebdomadaire, ce qui remet le compte d'aplomb.
- 1Dans une cellule, écris
=NB.JOURS.OUVRES.INTL(. - 2En 1er argument : clique sur la cellule qui porte la date de début,
B2. Elle ouvre le mois de mai au01/05/2024. - 3En 2ᵉ argument : clique sur la cellule qui porte la date de fin,
C2. Elle referme le mois au31/05/2024. - 4En 3ᵉ argument : saisis le masque de repos hebdomadaire,
"0000011". Il ferme le samedi et le dimanche, le rythme classique d'une semaine française. Ce troisième argument reste obligatoire ici, car le quatrième ne peut pas être atteint sans passer par lui. - 5En 4ᵉ argument : écris la liste des jours fériés à retirer,
{"01/05/2024";"08/05/2024";"09/05/2024"}, entre accolades. Sur un vrai fichier, remplace-la par une plage dédiée à laquelle tu ajoutes les fériés une fois pour toutes. - 6Ferme la parenthèse et appuie sur Entrée. Les trois fériés tombent tous en semaine cette année-là, chacun retire une unité, et le total descend de
23à20jours ouvrés.
=NB.JOURS.OUVRES.INTL(B2; C2; "0000011"; {"01/05/2024";"08/05/2024";"09/05/2024"})23 jours ouvrés. Les trois fériés fournis tombent tous en semaine cette année-là, donc chacun retire une unité et le total descend à 20. Un férié qui serait tombé un samedi n'aurait rien changé, puisque le masque l'avait déjà écarté et que la fonction ne déduit jamais deux fois le même jour.
Les erreurs fréquentes avec la fonction NB.JOURS.OUVRES.INTL
Erreur #VALEUR! : code de week-end invalide
Tu obtiens cette erreur quand tu utilises un code numérique en dehors de la plage 1-17, ou quand ta chaîne personnalisée ne contient pas exactement 7 caractères composés uniquement de 0 et de 1. Par exemple =NB.JOURS.OUVRES.INTL(A1;B1;20) ou =NB.JOURS.OUVRES.INTL(A1;B1;"00011").
Solution : Vérifie que ton code est entre 1 et 17, ou que ta chaîne fait exactement 7 caractères avec uniquement des 0 et des 1, par exemple "0000011" pour samedi-dimanche.
Erreur #NOMBRE! : dates non valides
Excel ne peut pas interpréter tes dates. Cela arrive souvent quand tu tapes du texte au lieu d'une vraie date, ou quand le format n'est pas reconnu. Par exemple "1er janvier" n'est pas reconnu comme date.
Solution : Utilise le format JJ/MM/AAAA ou référence des cellules formatées en Date. Tu peux aussi construire des dates avec DATE(2024;1;1) pour être sûr du format.
Résultat négatif inattendu
Si ta date de fin est antérieure à ta date de début, Excel retourne un nombre négatif. C'est souvent une simple inversion des dates par erreur. Par exemple =NB.JOURS.OUVRES.INTL("31/12/2024";"01/01/2024";1) retourne -260.
Solution : Vérifie l'ordre de tes dates : date_début doit précéder date_fin. Si tu veux toujours un résultat positif indépendamment de l'ordre, entoure la formule de ABS().
Jours fériés non pris en compte
Tes jours fériés ne sont pas soustraits du résultat parce que les cellules contiennent du texte ressemblant à une date au lieu de vraies dates Excel. Excel ne peut pas comparer des textes à des dates.
Solution : Sélectionne ta plage de jours fériés et applique le format « Date courte » depuis le menu Format de cellule. Si les valeurs ne se convertissent pas, retape-les ou utilise CNUM() pour les convertir.

NB.JOURS.OUVRES.INTL vs NB.JOURS.OUVRES vs JOURS
Utilise NB.JOURS.OUVRES.INTL dès que tu travailles avec des calendriers internationaux ou des horaires atypiques. Pour un usage 100 % France avec week-end classique, NB.JOURS.OUVRES est plus simple. JOURS ne compte que les jours calendaires sans aucune exclusion.
| Critère | NB.JOURS.OUVRES.INTL | NB.JOURS.OUVRES | JOURS |
|---|---|---|---|
| Week-ends personnalisables | ✅ Oui (17 codes + chaîne custom) | ❌ Non (sam-dim fixe) | ❌ Non applicable |
| Exclut les week-ends | ✅ Oui | ✅ Oui | ❌ Non |
| Gère les jours fériés | ✅ Oui | ✅ Oui | ❌ Non |
| Usage international | ⭐⭐⭐ | ⭐ | ⭐⭐⭐ |
| Facilité d'utilisation | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |

Astuces avancées avec NB.JOURS.OUVRES.INTL
Créer un calendrier de référence centralisé
Plutôt que de retaper les jours fériés dans chaque formule, crée une feuille « Paramètres » avec une colonne de jours fériés pour toute l'année et nomme cette plage « JoursFériés » via le gestionnaire de noms. Tu pourras ensuite écrire =NB.JOURS.OUVRES.INTL(A1;B1;1;JoursFériés) partout dans ton fichier.
Une seule mise à jour annuelle suffit pour maintenir l'ensemble de tes calculs de délais et de congés.
Multiplier par un tarif journalier pour facturer automatiquement
Pour calculer directement un coût ou un revenu, multiplie le résultat par ton tarif : =NB.JOURS.OUVRES.INTL(A1;B1;1)*500 te donne le montant total pour une mission à 500 €/jour, en excluant automatiquement les week-ends et jours fériés.
C'est particulièrement utile pour les devis de missions freelance ou le calcul de la masse salariale d'une période variable.
Trouver la date de fin à partir d'un nombre de jours ouvrés
Quand tu connais le nombre de jours ouvrés à allouer et que tu veux trouver la date de livraison, utilise la fonction complémentaire SERIE.JOUR.OUVRE.INTL : =SERIE.JOUR.OUVRE.INTL("01/03/2024";45;1) retourne la date 45 jours ouvrés après le 1er mars.
Ces deux fonctions sont complémentaires : NB.JOURS.OUVRES.INTL compte les jours entre deux dates, SERIE.JOUR.OUVRE.INTL calcule la date à partir d'un nombre de jours.
Questions fréquentes
NB.JOURS.OUVRES utilise uniquement samedi-dimanche comme week-end. NB.JOURS.OUVRES.INTL te permet de personnaliser les jours de week-end selon les conventions internationales : vendredi-samedi pour le Moyen-Orient, dimanche seul pour certains pays, ou toute autre configuration personnalisée. Si tu travailles exclusivement avec des équipes en France ou en Europe occidentale, NB.JOURS.OUVRES est plus simple. Dès qu'une filiale sort du modèle samedi-dimanche, utilise la version INTL.
Utilise le code 7 comme troisième paramètre : =NB.JOURS.OUVRES.INTL(A1;B1;7). Ce code correspond aux conventions de nombreux pays du Moyen-Orient comme l'Arabie Saoudite, les Émirats Arabes Unis ou le Qatar.
Oui, le paramètre jours_fériés accepte une plage de cellules contenant plusieurs dates. Par exemple : =NB.JOURS.OUVRES.INTL(A1;B1;1;E1:E10) exclura toutes les dates listées de E1 à E10.
Tu peux ainsi gérer tous les jours fériés de l'année en une seule plage. Si tu nommes cette plage « JoursFériés », la formule devient encore plus lisible.
Utilise une chaîne de 7 caractères : =NB.JOURS.OUVRES.INTL(A1;B1;"0101011"). Les 0 indiquent les jours travaillés, les 1 les jours non travaillés, du dimanche au samedi. Par exemple, "0000111" ne compte que les lundis à jeudis (semaine de 4 jours).
Oui, NB.JOURS.OUVRES.INTL inclut à la fois la date de début et la date de fin dans son calcul, à condition qu'elles tombent sur des jours ouvrés. Si l'une d'elles tombe un week-end ou un jour férié, elle n'est pas comptée. Si tu veux exclure l'une des deux dates (par exemple ne pas compter le jour de départ), ajuste la formule en décalant la date d'un jour.
Pour aller plus loin
Continue sur ta lancée après la fonction NB.JOURS.OUVRES.INTL : 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



