Fonctions WORKDAY et NETDAYS d'Excel pour calculer les jours ouvrables

  • Partage Ça
Michael Brown

Ce court tutoriel explique l'utilisation des fonctions NETWORKDAYS et WORKDAY d'Excel pour calculer les jours ouvrables avec des paramètres de week-end et des jours fériés personnalisés.

Microsoft Excel propose deux fonctions spécialement conçues pour le calcul des jours de la semaine : WORKDAY et NETDAYS.

Le site JOURNÉE DE TRAVAIL renvoie une date N jours ouvrables dans le futur ou dans le passé et vous pouvez l'utiliser pour ajouter ou soustraire des jours ouvrables à une date donnée.

Utilisation de la JOURS DE RÉSEAU vous pouvez calculer le nombre de jours ouvrables entre deux dates que vous spécifiez.

Dans Excel 2010 et plus, des modifications plus puissantes des fonctions susmentionnées sont disponibles, WORKDAY.INTL et NETWORKDAYS.INTL, qui vous permettent de définir quels jours et combien de jours sont des jours de week-end.

Maintenant, examinons de plus près chaque fonction et voyons comment vous pouvez l'utiliser pour calculer les jours ouvrables dans vos feuilles de calcul Excel.

    Fonction WORKDAY d'Excel

    La fonction WORKDAY d'Excel renvoie une date qui se situe un nombre donné de jours ouvrables avant ou après la date de début. Elle exclut les week-ends ainsi que les jours fériés que vous avez spécifiés.

    La fonction WORKDAY est destinée à calculer les jours ouvrables, les jalons et les dates d'échéance sur la base du calendrier de travail standard, le samedi et le dimanche étant les jours du week-end.

    WORKDAY est une fonction intégrée dans Excel 2007 - 365. Dans les versions antérieures, vous devez activer l'Analysis ToolPak.

    Lorsque vous utilisez WORKDAY dans Excel, vous devez saisir les arguments suivants :

    JOURS DE TRAVAIL(date de début, jours, [jours fériés])

    Les deux premiers arguments sont obligatoires et le dernier est facultatif :

    • Date de début - la date à partir de laquelle il faut commencer à compter les jours de la semaine.
    • Jours - le nombre de jours ouvrables à ajouter ou à soustraire de la date de début. Un nombre positif renvoie une date future, un nombre négatif renvoie une date passée.
    • Vacances - Il peut s'agir soit d'une plage de cellules contenant les dates que vous souhaitez exclure des calculs, soit d'un tableau contenant les numéros de série représentant les dates.

    Maintenant que vous connaissez les principes de base, voyons comment vous pouvez utiliser la fonction WORKDAY dans vos feuilles de calcul Excel.

    Comment utiliser WORKDAY pour ajouter ou soustraire des jours ouvrables à une date donnée ?

    Pour calculer les jours ouvrables dans Excel, suivez ces règles simples :

    • A ajouter jours ouvrables, entrez un nombre positif comme jours argument d'une formule WORKDAY.
    • A soustraire jours ouvrables, utilisez un nombre négatif dans le jours argument.

    Supposons que vous ayez une date de début dans la cellule A2, une liste de jours fériés dans les cellules B2:B5 et que vous souhaitiez connaître les dates de 30 jours ouvrables dans le futur et dans le passé :

    Pour ajouter 30 jours ouvrables à la date de début, à l'exclusion des jours fériés en B2:B5 :

    =JOUR OUVRABLE(A2, 30, B2:B5)

    Pour soustraire 30 jours ouvrables de la date de début, en excluant les jours fériés de B2:B5 :

    =JOUR OUVRABLE(A2, -30, B2:B5)

    Pour calculer les jours de la semaine sur la base du date actuelle Pour le calcul de la date de début, utilisez la fonction TODAY() :

    Pour ajouter 30 jours ouvrables à la date d'aujourd'hui :

    =JOUR OUVRABLE(AUJOURD'HUI(), 30)

    Pour soustraire 30 jours ouvrables de la date du jour :

    =JOUR OUVRABLE(AUJOURD'HUI(), -30)

    Pour fournir la date de début directement à la formule, utilisez la fonction DATE :

    =JOUR OUVRABLE(DATE(2015,5,6), 30)

    La capture d'écran suivante montre les résultats de toutes ces formules et de quelques autres formules WORKDAY :

    Naturellement, vous pouvez saisir le nombre de jours ouvrables à ajouter ou à soustraire à la date de début dans une cellule, puis vous référer à cette cellule dans votre formule, par exemple :

    =JOUR OUVRABLE(A2, C2)

    Où A2 est la date de début et C2 est le nombre de jours hors week-end en retard (chiffres négatifs) ou en avance (chiffres positifs) sur la date de début, sans exclure les jours fériés.

    Conseil : Dans Excel 365 et 2021, vous pouvez utiliser WORKDAY en combinaison avec SEQUENCE pour générer une série de jours ouvrables.

    Fonction Excel WORKDAY.INTL

    WORKDAY.INTL est une modification plus puissante de la fonction WORKDAY qui fonctionne avec paramètres de week-end personnalisés Tout comme WORKDAY, elle renvoie une date qui correspond à un nombre spécifié de jours ouvrables dans le futur ou dans le passé, mais vous permet de déterminer quels jours de la semaine doivent être considérés comme des jours de week-end.

    La fonction WORKDAY.INTL a été introduite dans Excel 2010 et n'est donc pas disponible dans les versions antérieures d'Excel.

    La syntaxe de la fonction Excel WORKDAY.INTL est la suivante :

    JOURNÉE DE TRAVAIL.INTL(date de début, jours, [week-end], [vacances])

    Les deux premiers arguments sont obligatoires et sont similaires à ceux de WORKDAY :

    Date de début - la date initiale.

    Jours - le nombre de jours ouvrables avant (valeur négative) ou après (valeur positive) la date de début. Si l'option jours est fourni sous forme de nombre décimal, il est tronqué au nombre entier.

    Les deux derniers arguments sont facultatifs :

    Week-end - indique quels jours de la semaine doivent être comptés comme des jours de week-end. Il peut s'agir d'un nombre ou d'une chaîne de caractères, comme indiqué ci-dessous.

    Numéro Jours de fin de semaine
    1 ou omis Samedi, dimanche
    2 Dimanche, lundi
    3 Lundi, mardi
    4 Mardi, mercredi
    5 Mercredi, jeudi
    6 Jeudi, vendredi
    7 Vendredi, samedi
    11 Dimanche seulement
    12 Lundi uniquement
    13 Mardi uniquement
    14 Mercredi seulement
    15 Jeudi seulement
    16 Vendredi seulement
    17 Samedi uniquement

    Chaîne du week-end - une série de sept 0 et 1 qui représentent les sept jours de la semaine, en commençant par le lundi. 1 représente un jour non ouvrable et 0 un jour ouvrable. Par exemple :

    • "0000011" - Le samedi et le dimanche sont des week-ends.
    • "1000001" - Le lundi et le dimanche sont des week-ends.

    À première vue, les chaînes de week-end peuvent sembler superflues, mais personnellement, je préfère cette méthode car vous pouvez créer une chaîne de week-end à la volée sans avoir à vous souvenir d'aucun chiffre.

    Vacances - Il peut s'agir d'une plage de cellules contenant les dates, ou d'une constante de tableau des valeurs de série représentant ces dates.

    Utilisation de WORKDAY.INTL dans Excel - exemples de formules

    La grande partie de la théorie dont nous venons de parler peut sembler assez compliquée et déroutante, mais si vous vous essayez aux formules, les choses deviendront vraiment faciles.

    Sur notre jeu de données, avec la date de début dans la cellule A2 et une liste de jours fériés dans A5:A8, calculons les jours ouvrés avec les week-ends personnalisés.

    A ajouter 30 jours ouvrables jusqu'à la date de début, le vendredi et le samedi étant comptés comme des week-ends et les jours fériés en A5:A8 étant exclus :

    =WORKDAY.INTL(A2, 30, 7, A5:A8)

    ou

    =WORKDAY.INTL(A2, 30, "0000110", A5:A8)

    A soustraire 30 jours ouvrables à partir de la date de début, le dimanche et le lundi étant comptés comme des week-ends et les jours fériés en A5:A8 étant exclus :

    =WORKDAY.INTL(A2, -30, 2, A5:A8)

    ou

    =WORKDAY.INTL(A2, -30, "1000001", A5:A8)

    Pour ajouter 10 jours ouvrables à la date actuelle le dimanche étant le seul jour de week-end, sans jours fériés :

    =WORKDAY.INTL(TODAY(), 10, 11)

    ou

    =JOUR OUVRABLE.INTL(A2, 10, "0000001")

    Dans votre feuille Excel, les formules peuvent ressembler à ceci :

    Remarque : les fonctions WORKDAY et WORKDAY.INTL d'Excel renvoient toutes deux des numéros de série représentant les dates. Pour que ces numéros soient affichés sous forme de dates, sélectionnez les cellules contenant les numéros et appuyez sur Ctrl+1 pour ouvrir l'onglet Formatage des cellules Sur le Numéro sélectionnez Date dans le Catégorie Pour les étapes détaillées, veuillez consulter Comment modifier le format de la date dans Excel.

    Erreurs Excel WORKDAY et WORKDAY.INTL

    Si votre formule Excel WORKDAY ou WORKDAY.INTL renvoie une erreur, la raison est probablement l'une des suivantes :

    #NUM ! L'erreur se produit si l'un ou l'autre :

    • une combinaison de date de début et jours donne une date non valide, ou
    • week-end dans la fonction WORKDAY.INTL n'est pas valide.

    #VALUE ! L'erreur se produit si l'un ou l'autre :

    • date de début ou toute valeur dans vacances n'est pas une date valide, ou
    • jours l'argument est non-numérique.

    Fonction NETWORKDAYS d'Excel

    La fonction NETWORKDAYS d'Excel renvoie le nombre de jours ouvrables entre deux dates, à l'exclusion des week-ends et, éventuellement, des jours fériés que vous spécifiez.

    La syntaxe d'Excel NETWORKDAYS est intuitive et facile à mémoriser :

    NETWORKDAYS(date de début, date de fin, [jours fériés])

    Les deux premiers arguments sont obligatoires et le troisième est facultatif :

    • Date de début - date initiale à partir de laquelle on commence à compter les jours ouvrables.
    • Date de fin - la fin de la période pour laquelle vous comptez les jours ouvrables.

    La date de début et la date de fin sont toutes deux prises en compte dans le nombre de jours ouvrables indiqué.

    • Vacances - une liste facultative de jours fériés qui ne doivent pas être comptabilisés comme des jours de travail.

    Comment utiliser NETWORKDAYS dans Excel - exemple de formule

    Supposons que vous ayez une liste de jours fériés dans les cellules A2:A5, des dates de début dans la colonne B, des dates de fin dans la colonne C, et que vous souhaitiez savoir combien de jours ouvrables se trouvent entre ces dates. La formule NETWORKDAYS appropriée est facile à trouver :

    =NETWORKDAYS(B2, C2, $A$2:$A$5)

    Remarquez que la fonction Excel NETWORKDAYS renvoie une valeur positive lorsque la date de début est inférieure à la date de fin, et une valeur négative si la date de fin est plus récente que la date de début (comme dans la ligne 5) :

    Fonction Excel NETWORKDAYS.INTL

    Comme NETWORKDAYS, la fonction NETWORKDAYS.INTL d'Excel calcule le nombre de jours de semaine entre deux dates, mais vous permet de spécifier quels jours doivent être comptés comme des jours de week-end.

    La syntaxe de la fonction NETWORKDAYS.INTL est très similaire à celle de NETWORKDAYS, à l'exception du paramètre supplémentaire [weekend] qui indique quels jours de la semaine doivent être comptés comme des week-ends.

    NETWORKDAYS.INTL( date de début, date de fin, [week-end], [vacances] )

    Le site week-end peut accepter un nombre ou une chaîne. Les nombres et les chaînes de week-end sont exactement les mêmes que dans l'argument week-end de la fonction WORKDAY.INTL.

    La fonction NETWORKDAYS.INTL est disponible dans Excel 365 - 2010.

    Utilisation de NETWORKDAYS.INTL dans Excel - exemple de formule

    En utilisant la liste de dates de l'exemple précédent, nous allons calculer le nombre de jours ouvrables entre deux dates avec le dimanche comme seul jour de week-end. week-end de votre formule NETWORKDAYS.INTL ou faites une chaîne de six 0 et un 1 ("0000001") :

    =NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)

    Ou

    =NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)

    La capture d'écran suivante prouve que les deux formules donnent des résultats absolument identiques.

    Comment mettre en évidence les jours ouvrables dans Excel

    Grâce aux fonctions WORKDAY et WORKDAY.INTL, vous pouvez non seulement calculer les jours ouvrables dans vos feuilles de calcul Excel, mais aussi les mettre en évidence selon votre logique d'entreprise. Pour cela, vous créez une règle de formatage conditionnel avec une formule WORKDAY ou WORKDAY.INTL.

    Par exemple, dans une liste de dates de la colonne B, ne mettons en évidence que les dates futures qui se situent dans un délai de 15 jours ouvrables à compter de la date du jour, à l'exclusion de deux jours fériés dans les cellules A2:A3. La formule la plus évidente qui vient à l'esprit est la suivante :

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))

    La première partie du test logique élimine les dates passées, c'est-à-dire que vous vérifiez si une date est égale ou supérieure à aujourd'hui : $B2>TODAY(). Et dans la deuxième partie, vous vérifiez si une date ne se situe pas plus de 15 jours de semaine dans le futur, en excluant les jours de week-end et les jours fériés spécifiés : $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    La formule semble correcte, mais une fois que vous aurez créé une règle basée sur elle, vous vous rendrez compte qu'elle met en évidence les mauvaises dates :

    Essayons de comprendre pourquoi cela se produit. Le problème ne vient pas de la fonction WORKDAY, comme quelqu'un pourrait le conclure. La fonction est correcte, mais... que fait-elle réellement ? Elle renvoie une date à 15 jours ouvrables de maintenant, en excluant les jours de week-end (samedi et dimanche) et les jours fériés dans les cellules A2:A3.

    D'accord, et que fait la règle basée sur cette formule ? Elle met en évidence TOUTES les dates qui sont égales ou supérieures à aujourd'hui et inférieures à la date renvoyée par la fonction WORKDAY. Vous voyez ? Toutes les dates ! Si vous ne voulez pas colorier les week-ends et les jours fériés, vous devez indiquer explicitement à Excel de ne pas le faire. Nous ajoutons donc deux conditions supplémentaires à notre formule :

    • La fonction WEEKDAY pour exclure les week-ends : WEEKDAY($B2, 2)<6
    • La fonction COUNTIF pour exclure les jours fériés : COUNTIF($A$2:$A$3, $B2)=0

    Comme le montre la capture d'écran ci-dessous, la formule améliorée fonctionne parfaitement :

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)

    Comme vous le voyez, les fonctions WORKDAY et WORKDAY.INTL permettent de calculer rapidement et facilement les jours ouvrables dans Excel. Bien sûr, vos formules réelles seront probablement plus sophistiquées, mais connaître les bases est d'une grande aide, car vous pouvez vous rappeler seulement un petit ensemble de choses essentielles et dériver le reste. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.