XL 2013 Décaler fériés et fins de semaine

delaroch12

XLDnaute Nouveau
Bonjour,

Je ne suis pas une experte en Excel, loin de là, mais je réussi à faire certains documents grâce à Internet et bien sûr à votre forum et je vous en remercie. Par contre, dans un document que je suis en train de produire j'ai un gros problème que je ne peux résoudre seule, j'ai essayé, fouillé et réessayer sans succès.

Je souhaite que la cellule F3 à F32 calcule la date prévue avec nombre de jours plus tard cellule H1, soit 42 jours dans l'exemple.

Jusque là tout va bien, sauf qu'il ne faut pas que la date calculée tombe un samedi, dimanche ou jours fériés (plage jours fériés = Fer incluant les 2 semaines entre Noël et Jour de l'an. Si c'est le cas, afficher la date du prochain jours ouvrés, sachant que les jours ouvrés sont du Lundi au Vendredi inclus (sans jours fériés).

Petite précision qui a son importance, il faut que la date calculée inclus les jours fériés, samedi et dimanche, donc exit les formules de type SERIE.JOUR.OUVRE

Si quelqu'un peut m'aider, ce serait grandement apprécié. Je joint mon fichier test pour plus de compréhension.

Jésusrockstar a eu une demande un peu similaire mais sa formule ne fonctionne pas dans mon fichier.

Merci beaucoup!
 

Pièces jointes

  • Date prévue.xlsx
    11 KB · Affichages: 22
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer
VB:
=SERIE.JOUR.OUVRE.INTL(E3;F$1;"0000000";Feries)

Cette formule calcule la date de fin en ôtant les fériés et les jours de congés mis dans l'onglet "Fériés"​
Les "0000000" sont les jours ouvrés, actuellement tous les jours sont ouvrés​
Si tu veux ôter les dimanches alors il faut mettre "0000001"​


JHA
 

Pièces jointes

  • Date prévue.xlsx
    14.5 KB · Affichages: 5

delaroch12

XLDnaute Nouveau
Bonjour à tous,

A essayer
VB:
=SERIE.JOUR.OUVRE.INTL(E3;F$1;"0000000";Feries)

Cette formule calcule la date de fin en ôtant les fériés et les jours de congés mis dans l'onglet "Fériés"​
Les "0000000" sont les jours ouvrés, actuellement tous les jours sont ouvrés​
Si tu veux ôter les dimanches alors il faut mettre "0000001"​


JHA
Bonjour JHA, votre formule ne fonctionne pas car je dois compter le nombre de jours (disons 42) à la date et ensuite prendre cette date et vérifier si c'est un jour férié ou une fin de semaine, si c'est le cas, je dois passer à la prochaine journée de la semaine. Mais je ne peux pas mettre série.jour.ouvré dans ma formule. Je modifie mon texte pour être plus claire.

Merci!
 
Dernière édition:

GALOUGALOU

XLDnaute Accro
re delaroch12 bonjour le fil bonjour le forum
je suis perplexe
que comprend la colonne A ? (jours fériés + des jours fermés)

dans votre tableau à partir du 1er novembre en ajoutant 42 jours, vous arrivez au 13 décembre 2021.
pourtant si on met en application vos problématiques, "jourexclu" + samedi + dimanche, la date théorique d'arrivée devrait être lundi 10 janvier 2022.

si tel est le cas la formule de jha me semble très bien
VB:
       =SERIE.JOUR.OUVRE.INTL(E3;H$1;"0000011";DateExclues)
mais avant d'apporter plus d'explication, confirmez ou infirmez mon analyse
cdt
galougalou
 

Pièces jointes

  • Copie de Date prévue.xlsx
    15.6 KB · Affichages: 5
Dernière édition:

delaroch12

XLDnaute Nouveau
re delaroch12 bonjour le fil bonjour le forum
je suis perplexe
que comprend la colonne A ? (jours fériés + des jours fermés)
dans votre tableau à partir du 1er novembre en ajoutant 42 jours, vous arrivez au 13 décembre 2021.
pourtant si on met en application vos problématiques, "jourexclu" + samedi + dimanche, la date théorique d'arrivée devrait être lundi 10 janvier 2022.
si tel est le cas la formule de jha me semble très bien
VB:
       =SERIE.JOUR.OUVRE.INTL(E3;F$1;"0000011";DateExclues)
mais avant d'apporter plus d'explication, confirmez ou infirmez mon analyse
cdt
galougalou
 

delaroch12

XLDnaute Nouveau
Bonjour Galougalou, effectivement ma colonne A comprends des jours fériés + des jours fermés. Cependant mon tableau à partir du 1er novembre en ajoutant 42 jours, j'arrive au 13 décembre 2021 mais les samedi et dimanches sont déjà exclus... et c'est ce que je dois faire mais en plus, si la date concorde avec un jour férié ou un jours fermé, je dois donner la prochaine date ouverte qui n'est pas dans les jours fériés + les jours fermés.
 

delaroch12

XLDnaute Nouveau
Bonjour à tous,

Second essai toujours au hasard de ce que je comprends. Ne marche que pour les vacances de Noël.

JHA
Rebonjour JHA, vous y êtes presque... en fait j'aimerais qu'au lieu d'afficher le jour précédent, elle affiche le jour ouvré suivant... en exemple, dans le fichier joint avec votre formule, si la date est le 6 ou le 7 novembre, la date prévue est le 17 novembre mais j'aimerais que ce soit le 20 au lieu du 17 et les dates du 12 au 23 novembre, la date prévue devrait être le 5 janvier.

Merci pour votre patience et votre précieuse aide.
Bonjour à tous,

Second essai toujours au hasard de ce que je comprends. Ne marche que pour les vacances de Noël.

JHA
Rebonjour JHA, en fait, vous y êtes presque, ce que je voudrais c'est qu'au lieu d'afficher la date précédente au férié, c'est la date suivante. En exemple, les 6 et 7 novembre, la date prévue est le 17 novembre mais j'aimerais que ce soit le 20 novembre et tout ce qui est le 23 décembre, ce soit le 5 janvier 2022 car si si c'est le 23 décembre, il n'y a plus au moins 42 jours entre les 2 dates
 

Pièces jointes

  • Date prévue bis.xlsx
    16.1 KB · Affichages: 2
  • Date prévue bis.xlsx
    16.1 KB · Affichages: 3

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir @delaroch12 ,
J'ai lu ce qui précède et voilà ce que j'en ai compris :

Tu cherches à ajouter n jours à une date (inclus les week-end, les jours fériés et les jours de fermeture) et si la date trouvée est un jour non travaillé (Week-end, Férié, Fermé), renvoyer le premier jour travaillé qui suit.​

Je pense avoir trouvé, avec une formule plutôt courte
=SERIE.JOUR.OUVRE.INTL($C3+E$1-1;1;"0000011";_Jours_Exclus)​

$C3 la date de départ, E$1 le nombre de jours, _Jours_exclus un nom regroupant les jours fériés et les jours fermés.

L'astuce étant d'additionner n-1 jours et utiliser SERIE.JOUR.OUVRE.INTL sur cette date avec 1 seul jour de décalage.

Remarque : j'ai utilisé plusieurs noms définis pour regrouper les 2 plages de jour à exclure (4 au total)

Voir la pièce jointe

Bon courage
Alain
 

Pièces jointes

  • Date prévue AtTheOne.xlsx
    16.9 KB · Affichages: 9

delaroch12

XLDnaute Nouveau
Bonsoir @delaroch12 ,
J'ai lu ce qui précède et voilà ce que j'en ai compris :

Tu cherches à ajouter n jours à une date (inclus les week-end, les jours fériés et les jours de fermeture) et si la date trouvée est un jour non travaillé (Week-end, Férié, Fermé), renvoyer le premier jour travaillé qui suit.​

Je pense avoir trouvé, avec une formule plutôt courte
=SERIE.JOUR.OUVRE.INTL($C3+E$1-1;1;"0000011";_Jours_Exclus)​

$C3 la date de départ, E$1 le nombre de jours, _Jours_exclus un nom regroupant les jours fériés et les jours fermés.

L'astuce étant d'additionner n-1 jours et utiliser SERIE.JOUR.OUVRE.INTL sur cette date avec 1 seul jour de décalage.

Remarque : j'ai utilisé plusieurs noms définis pour regrouper les 2 plages de jour à exclure (4 au total)

Voir la pièce jointe

Bon courage
Alain
Bonsoir AtTheOne @Alain,

Oui c'est tout à fait mon besoin et ta formule semble très bien fonctionner... mais malheureusement lorsque j'active la modification, le fichier affiche #NOM? dans les colonnes où tu as mis les formules.... la cause étant un nom dans la formule qui je crois est _Jours_Exclus. Est-ce que vous pouvez me dire pourquoi ???
 

Pièces jointes

  • Date prévue AtTheOne.xlsx
    15.9 KB · Affichages: 4

GALOUGALOU

XLDnaute Accro
re delaroch12, bonjour attheone

Si la demande consiste à ajouter 42 jours consécutifs à une date et si la date trouvée est un jour chômé, choisir le 1er jour travaillé suivant.
VB:
=SI(NB.JOURS.OUVRES.INTL($E3+$H$1;$E3+$H$1;"0000011";DateExclues)=0;SERIE.JOUR.OUVRE.INTL($E3+$H$1;1;"0000011";DateExclues);$E3+$H$1)

la cellule h1 est figée avec la valeur 42
cdt
galougalou
 

Pièces jointes

  • Copie de Date prévue v3.xlsx
    11.5 KB · Affichages: 9
Dernière édition:

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour @delaroch12
Je pense que c'est parce que j'utilise une fonction de microsoft365 (et excel2021) pour concaténer les 2 tableaux a exclure.
A la place, crée un seul tableau structuré qui contient Jours fériés et jours fermés, et remplace _Jours_Exclus par le nom de ce Tableau structuré, tu peux supprimer les 4 noms que j'ai créé pour obtenir la liste des jours à exclure.
Bon courage
Alain
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo