XL 2016 Calculer nombre de jours de congés et fériés entre 2 dates

Combl

XLDnaute Nouveau
Bonjour à tous,

Je bloque sur une formule excel.

Dans la colonne A, j'ai des dates de début de congés, et dans la colonne B leurs dates de fin.

Dans la colonne D, j'ai une liste de jours fériés.

Par exemple, si je dis que le début d'une période commence le 09/09/2019 et dure 50 jours ouvrés, j'aimerai connaitre le nombre de jours de congés et de jours fériés pendant cette période de 50 jours ouvrés.

Je joins mon fichier,

Merci d'avance,

Combl
 

Pièces jointes

  • Classeur1.xlsx
    14 KB · Affichages: 12

Combl

XLDnaute Nouveau
Bonjour,

Merci, il y a de bonnes idées mais cela ne donne pas le résultat souhaité :

Par exemple, si je met la date du 08/08/19 et 5 jours ouvrés, on devrait obtenir la valeur de 5 jours (au lieu de 6), car le 08/08, le 09/08, le 10/08, le 11/08 et le 12/08 tombent dans une période de congés.

Si je met la date du 29/10/19 et 5 jours ouvrés, on devrait avoir la valeur de 1 car le 01/11/19 est un jour férié.

Merci d'avance,

Combl
 

Combl

XLDnaute Nouveau
On doit mal se comprendre :( .

Pour être plus clair, je met une date de début et une durée en jours ouvrés, cela me donne donc une date de fin.

J'aimerai juste comptabiliser le nombre de jours de congés (suivant la liste des colonnes A et B) + le nombre de jours fériés (colonne D) entre la date de début et la date de fin.

Merci beaucoup.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Cela est très différent de ta demande d'origine. Si tu choisis 6 jours ouvrés par semaine, quel est le jour de fermeture?

Regarde du côté de cette fonction et modifie le 11 par ce que tu as besoin.
VB:
=NB.JOURS.OUVRES.INTL(H1;H3;11;Fer)
ou celle-ci
Code:
=NB.JOURS.OUVRES.INTL(H1;H3;"0000001";Fer)
Le 1 dans "0000001" représente la journée fermée

Je te laisse reconstruire la formule max(si()) proposée en #2 qui doit réaliser ta demande.

JHA
 

Combl

XLDnaute Nouveau
Cela ne marche toujours pas,

Par exemple, si je met la date de début 05/08/2019 et 6 jours ouvrés (du lundi au vendredi), cela donne le 05/08, 06/08, 07/08, 08/08, 09/08 et le 12/08.

Toutes ces dates sont des dates de congés car elles sont entre le 03/08/19 et le 01/09/19, donc la valeur que je recherche est 6.

Si par exemple je met date de début le 31/10/19 et 3 jours ouvrés, cela donne le 31/10, 01/11 et le 4/11. Le 01/11 est un jour férié, donc la valeur que je recherche est 1.

Merci d'avance.
 

Combl

XLDnaute Nouveau
Bonjour JHA,
Je ne comprend pas la formule en H3, je recherche une valeur et non une date.

Je rééssaye d'être plus clair avec 2 autres exemples :

Exemple 1 :

Date de début = jeudi 06/06/19
Durée = 5 jours ouvrés

Ce qui donne une date de fin au mercredi 12/06

La valeur recherchée est le nombre de jours de congés ou de jours fériés entre le 06/06 et le 12/06, dans ce cas là, il est de 0 car il n'y a pas de congés ni de jour férié entre ces 2 dates.

Exemple 2 :

Date de début = jeudi 01/08/19
Durée = 4 jours

Donc date de fin le mardi 6/08

Les congés sont du 03/08/19 au 01/09/19, donc le lundi 5/08 et le 6/08 sont des jours de congés.

Dans ce cas là, la valeur recherchée est 2 (il y a 2 jours de congés et 0 jour férié entre la date de début et la date de fin)

J'espère que c'est plus clair,

Merci d'avance,

Combl
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

La valeur recherchée est le nombre de jours de congés ou de jours fériés entre le 06/06 et le 12/06,

donc la formule en colonne C:

Nbre de jours de congé et de jours fériés

VB:
=MAX(0;NB.JOURS.OUVRES(MAX($H$1;$A2);MIN($B2;$H$3)))

Nbre de jour de congé sans les jours fériés

Code:
=MAX(0;NB.JOURS.OUVRES(MAX($H$1;$A2);MIN($B2;$H$3);Fer))

JHA
 

job75

XLDnaute Barbatruc
Bonjour Combi, JHA, eatswick,

Si je comprends bien il faut déterminer le nombre de jours de congés ouvrés sur la période.

Voyez le fichier joint avec cette formule en H3 :
Code:
=SOMMEPROD(NB.SI.ENS(A:A;"<="&jours;B:B;">="&jours);(JOURSEM(jours;2)<6)*NON(NB.SI(D:D;jours)))
Le nom jours étant défini par la formule :
Code:
=LIGNE(INDIRECT(Congés!$H$1&":"&SERIE.JOUR.OUVRE(Congés!$H$1;Congés!$H$2;DECALER(Congés!$D$1;1;;NBVAL(Congés!$D:$D)-1))-1))
A+
 

Pièces jointes

  • Classeur(1).xlsx
    20.5 KB · Affichages: 20

Discussions similaires

Haut Bas