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.
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
Mais la solution proposée par @GALOUGALOU que je salue te donne les mêmes résultats avec une formule beaucoup plus simple qui en plus utilise ta plage "DateExclues"
Merci AtTheOne j'ai réussi grâce à vous et si je peux me permettre j'aimerais encore abuser de votre très grande gentillesse car dans mon fichier, j'ai certains endroits où la date prévue en plus des conditions énumérés plus haut, je dois prendre cette date et la renvoyé au lundi, ou mardi ou mercredi, ou jeudi ou vendredi seulement dépendamment de l'endroit ou la rencontre a lieu.
J'avais comme formule =C1+E1+CHOISIR(JOURSEM(AUJOURDHUI();2);3;2;1;0;6;5;4) *** les chiffres de la fin de ma formule changeait dépendamment de la journée *** mais si j'ajoute +CHOISIR(JOURSEM à votre formule, je n'arrive plus du tout au même jour que j'avais précédemment.
Tu es mon champion, un ÉNORME merci pour tout ton temps, il me reste 2 petites formules à trouver mon que mon fichier soit nickel mais j'ai déjà assez abusé de ta bonté.
Tu es mon champion, un ÉNORME merci pour tout ton temps, il me reste 2 petites formules à trouver mon que mon fichier soit nickel mais j'ai déjà assez abusé de ta bonté.
Hey oui, c'est encore moi, j'ai réussi à trouver une de mes 2 formules manquantes mais pas l'autre et si tu veux bien, j'abuserais encore une fois de tes très honorables connaissances.
Il me reste à créer une formule avec conditions suivantes
Date du jour + 6 semaines (incluant tous les jours sur le calendrier mais mon résultat doit afficher le lundi seulement mais le mardi si le lundi est férié et si le mardi est un jour de vacances (dates exclues) afficher le lundi suivant
Je réponds à ta demande mais comme il faut bien s'amuser, j'ai repris l'idée de 2 tableaux de jours non travaillés, un pour les jours fériés et un pour les jours de fermeture.
Les jour fériés s'étendent sur 2 années, les fêtes mobiles sont calculées automatiquement en fonction de l'année de référence (juste au dessus du tableau).
D'une année sur l'autre tu n'as qu'à changer l'année de référence, et mettre à jour le tableau séparé des jours de fermeture.
Une fonction personnalisée se charge de concaténer les 2 tableaux (en faisant le ménage sur les doublons et en triant par ordre chronologique le résultat).
Si tu veux reprendre cette fonctionnalité sur un autre classeur, mets en référence la bibliothèque "Microsoft Scripting Runtime" dans le projet VBA (Alt F11 Outils, Références pour voir tout cela) et recopie le code (attention au nom VBA de la feuille contenant les 2 tableaux)
Voir la feuille Mémo pour plus d'informations
Bon je reformule ta demande maintenant :
Si le 1er lundi décalé de 41 j n'est pas travaillé ou que le délai trouvé est <42 j
Alors prendre le 1er lundi ou mardi travaillé suivant
Sinon prendre ce 1er lundi décaler de 41 j (donc avec un délai trouvé d'au moins 42 j)
La formule est un peu plus alambiquée (la colonne C contenant les dates de départ):
Je réponds à ta demande mais comme il faut bien s'amuser, j'ai repris l'idée de 2 tableaux de jours non travaillés, un pour les jours fériés et un pour les jours de fermeture.
Les jour fériés s'étendent sur 2 années, les fêtes mobiles sont calculées automatiquement en fonction de l'année de référence (juste au dessus du tableau).
D'une année sur l'autre tu n'as qu'à changer l'année de référence, et mettre à jour le tableau séparé des jours de fermeture.
Une fonction personnalisée se charge de concaténer les 2 tableaux (en faisant le ménage sur les doublons et en triant par ordre chronologique le résultat).
Si tu veux reprendre cette fonctionnalité sur un autre classeur, mets en référence la bibliothèque "Microsoft Scripting Runtime" dans le projet VBA (Alt F11 Outils, Références pour voir tout cela) et recopie le code (attention au nom VBA de la feuille contenant les 2 tableaux)
Voir la feuille Mémo pour plus d'informations
Bon je reformule ta demande maintenant :
Si le 1er lundi décalé de 41 j n'est pas travaillé ou que le délai trouvé est <42 j
Alors prendre le 1er lundi ou mardi travaillé suivant
Sinon prendre ce 1er lundi décaler de 41 j (donc avec un délai trouvé d'au moins 42 j)
La formule est un peu plus alambiquée (la colonne C contenant les dates de départ):