XL 2019 Serie jour ouvré et jours fériés

Goo69

XLDnaute Nouveau
Bonjour,

Je galère un peu avec la fonction serie.jour.ouvre pour déduire les jours fériés.
Par exemple, avec une date de départ du 01/11/24, à laquelle j'ajoute ensuite 7 jours, la fonction me retourne le 12/11/24 -> ça c'est ok.
Maintenant, je lui ajoute ma série de jours ouvrés pour novembre 2024, soit le 1er et le 11, et la fonction me retourne le 13/11/24 au lieu du 1411/24.
Idem pour mai 2025.
Le problème vient de la date de départ j'imagine.
Connaîtriez-vous une astuce pour dépasser cela ? Mis à part saisir les dates à la mano.

Merci !
 

Pièces jointes

  • serie.jour.ouvre.xlsx
    10.8 KB · Affichages: 10

ralph45

XLDnaute Impliqué
Bonjour Goo69,

Je ne suis pas sûr de comprendre ta demande, mais dans ta formule SERIE.JOUR.OUVRE, tu as oublié de renseigner la 3ème condition, à savoir ta plage de jours fériés...
1 - Sélectionne les cellules H2 et H3, puis nomme cette plage JOURS_FERIES
2 - Avec la formule modifiée ci-dessous, cela fonctionne (regarde mon test en E6)

VB:
=SERIE.JOUR.OUVRE(C2;D2;JOURS_FERIES)
 

Pièces jointes

  • serie.jour.ouvre.xlsx
    11.1 KB · Affichages: 2

Goo69

XLDnaute Nouveau
Bonjour @ralph45 ,

Merci pour ton retour, mais si tu regardes bien mon fichier, il y a deux lignes : celle qui fonctionne car sans les jours fériés et la ligne 3 qui ne fonctionne pas avec les jours fériés.
Ta proposition correspond à la ligne 3, celle qui ne fonctionne pas. Je te laisse compter.
(sans jours fériés, le résultat est au 12/11 et avec 2 jours fériés on devrait être au 14/11; hors, le résultat donne le 13/11)
 

Goo69

XLDnaute Nouveau
Bonsoir,
Les deux résultats sont corrects.
Cordialement
Merci @goube , mais vu que la fonction indique aucun jour férié dans le résultat 1, pourquoi le 11/11 ne serait pas pris en compte ? Pour moi, le problème vient de la date de début. J'ai dupliqué votre présentation dans le fichier en pj avec ma compréhension. Qu'en pensez-vous ?
 

Pièces jointes

  • serie.jour.ouvre (3).xlsx
    11.7 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Par exemple, avec une date de départ du 01/11/24, à laquelle j'ajoute ensuite 7 jours, la fonction me retourne le 12/11/24 -> ça c'est ok.
Maintenant, je lui ajoute ma série de jours ouvrés pour novembre 2024, soit le 1er et le 11, et la fonction me retourne le 13/11/24 au lieu du 14/11/24.
Vu que tu parts d'un jour non ouvré, le résultat correct est bien le 13/11/2024. ;)

La fonction part d'une date (ici le 01/11/2024), tu lui ajoutes un certain nombre de jours (ici 7), et elle te retourne une date.

Si tu parts d'un jour ouvré et que tu ajoutes 1 jour ouvré, tu te retrouves le lendemain du jour initial.
Si tu parts d'un jour non ouvré et que tu ajoutes 1 jour ouvré, tu te retrouves... le lendemain du jour initial.

Tout est normal. ;)
 

Pièces jointes

  • serie.jour.ouvre.xlsx
    15.8 KB · Affichages: 6

ralph45

XLDnaute Impliqué
Bonjour @tou.te.s,

Je plussoie l'explication de @TooFatBoy et ne comprenais pas pourquoi il fallait "tomber" sur la date du 14/11/2024... En passant par une formule plus "capillotractée", on obtient le même résultat (13/11/2024) :

VB:
=C2+((NB.JOURS.OUVRES.INTL(C2;C2+D2;1;JOURS_FERIES))+(JOURS(C2+D2;C2)))

@plus
 

ralph45

XLDnaute Impliqué
Merci @goube , je vais donc ajouter une conditionnelle pour prendre en compte cet aléa.

@Goo69

En reprenant et modifiant légèrement ton 1er fichier, on teste si la date de départ est un jour férié :
- Si c'est le cas, on biaise en ajoutant 1 à la formule ;
-Si non, on laisse la formule telle quelle.

VB:
=SI(RECHERCHEV(C5;MATRICE_JF;4;FAUX)="Oui";SERIE.JOUR.OUVRE(C5;D5;JOURS_FERIES)+1;SERIE.JOUR.OUVRE(C5;D5;JOURS_FERIES))
 

Pièces jointes

  • serie.jour.ouvre.xlsx
    12.2 KB · Affichages: 3

Goo69

XLDnaute Nouveau
Merci à vous.
@Goo69

En reprenant et modifiant légèrement ton 1er fichier, on teste si la date de départ est un jour férié :
- Si c'est le cas, on biaise en ajoutant 1 à la formule ;
-Si non, on laisse la formule telle quelle.

VB:
=SI(RECHERCHEV(C5;MATRICE_JF;4;FAUX)="Oui";SERIE.JOUR.OUVRE(C5;D5;JOURS_FERIES)+1;SERIE.JOUR.OUVRE(C5;D5;JOURS_FERIES))
Merci, tu as été plus rapide. Je la testerai ce soir.
 

TooFatBoy

XLDnaute Barbatruc
En reprenant et modifiant légèrement ton 1er fichier, on teste si la date de départ est un jour férié :
- Si c'est le cas, on biaise en ajoutant 1 à la formule ;
-Si non, on laisse la formule telle quelle.
Je crois que la formule ne donne pas toujours le résultat escompté.

Ceci dit, vu que la formule recherchée doit donner un résultat juste dans certains cas et faux dans les autres cas, il n'est pas facile de savoir si elle donne le résultat désiré...
 

Goo69

XLDnaute Nouveau
Je vous propose la formule suivante qui résoud le problème de janvier 2025 (qui tomberait le samedi 11 janvier avec la formule 4, mais qui tombe le lundi 13 avec ma formule 5).
Code:
=SI(SIERREUR(RECHERCHEV(C8;LISTE_JF;1;0)=H19;"")=FAUX;SERIE.JOUR.OUVRE(C8;8;LISTE_JF);SERIE.JOUR.OUVRE(C8;7;LISTE_JF))
 

Pièces jointes

  • serie.jour.ouvre (1).xlsx
    16.1 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba