Microsoft 365 Calcul de dates sans jours fériés, SAM et DIM

xamenod

XLDnaute Junior
Bonjour à tous,
Je cherche depuis quelques jours à créer une macro permettant d'ajouter un certain nombre de jours, 8 en mode "normal et 2 en mode "express" à une date dans .
Le résultat obtenu serai la date finale sans prise en compte des jours fermés, samedi dimanche et jours fériés.
J'ai essayé, sur un autre fichier tout un tas de méthode trouvé sur le net, sans grand succès, ou alors avec des résultats incohérents.
Merci pour votre aide.
Bonne journée.
Henry.
 

Pièces jointes

  • TEST_2.xlsm
    15.9 KB · Affichages: 10

xamenod

XLDnaute Junior
Bonjour xamenod

Pourquoi vouloir utiliser une macro 🤔

La formule toute simple
VB:
=A2+SI(B2="NORMAL";8;2)

A+
Bonjour Bruno,
merci pour votre retour.
la macro est nécessaire car le résultat de la formule est "absorbée" dans un outil en ligne, or c'est la formule qui remonte et non le résultat, d’où la macro. De plus la quantité de ligne varie d'un projet à l'autre. Le document sur lequel est installé la macro est une matrice qui permet de en la renommant un fichier de travail qui sert de support à l'outil en ligne.
Henry.
 

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
J'y réfléchi mais dans ton fichier, un lundi de pâques qui tombe un samedi, un lundi de pentecôte qui tombe également un samedi et un dimanche de pâques qui tombe un vendredi, je n'avais jamais vu.
Donc si vous voulez travailler sur des dates, il faudrait en premier lieu avoir initialement des dates "cohérentes" aussi.

Hors mis cet aparté, une fois que la macro aura calculé la date résultat, comment la macro doit-elle analyser ce résultat.

Le résultat obtenu serai la date finale sans prise en compte des jours fermés, samedi dimanche et jours fériés.

Si le calcul donne un samedi, quel résultat final doit on afficher ?
Idem pour un dimanche ou jours fériés.
Qu'appelez vous les jours fermés ?

Quelques éclaircissements seront necessaires


@+ Lolote83
 

xamenod

XLDnaute Junior
Bonjour Lolotte83,
pardon, je me suis un peu emballé sur le choix des dates d'exemple, je l'ai fait à la volée sans regarder le calendrier.
On jour fermé est un jour non travaillé, du moins les personnes à qui s'adresse le document final.
J'ai essayé d'interprété la macro comme suit:
date intermédiaire = date de début + le nombre de jour ouvrés en fonction du critère
calcul du nombre de jours fériés + samedi + dimanche
date totale = date intermédiaire + le nombre de jours off, pour obtenir le délais de 8 jours ouvrés.
si je prends l'exemple du 12 juillet, avec un délai normal le travail doit être rendu + 8 jours ce qui nous donnerait le 22 juillet.
Si le résultat tombe un samedi ou un dimanche la date attendue est alors le lundi suivant, s'il n'est pas férié...
j'espère avoir été plus clair dans mes explications.
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
Voici donc la fichier en retour.
Un tableau des jours fériés en fonction d'une année est présent (calcul automatique en fct de l'année)
Une fonction personnalisée (VBA) est faite en fonction de la date de départ et du mode.
- Si le résultat tombe un samedi alors on rajoute encore 2 jours supplémentaires pour ne pas tomber sur un dimanche
- Si le résultat tombe un dimanche alors on rajoute encore 1 jour supplémentaire
- Si le résultat tombe un jour férié, on recommence le calcul
@+ Lolote83
 

Pièces jointes

  • Copie de XAMENOD - Calcul sur date.xlsm
    23.2 KB · Affichages: 4

xamenod

XLDnaute Junior
Re bonjour,
Voici donc la fichier en retour.
Un tableau des jours fériés en fonction d'une année est présent (calcul automatique en fct de l'année)
Une fonction personnalisée (VBA) est faite en fonction de la date de départ et du mode.
- Si le résultat tombe un samedi alors on rajoute encore 2 jours supplémentaires pour ne pas tomber sur un dimanche
- Si le résultat tombe un dimanche alors on rajoute encore 1 jour supplémentaire
- Si le résultat tombe un jour férié, on recommence le calcul
@+ Lolote83
Merci Lolotte83 pour, ce fichier, mais...
j'avais effectué mes premiers tests avec de formules simples, voir associées avec des fonctions.
Le problème vient du fait que l'outil en ligne (en html) qui "absorbe" les résultats, ne reconnais pas la date et importe la formule contenue dans la cellule.
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
Voici donc le fichier V2 qui inscrit en dur les dates résultats (colonne G)
A voir maintenant si les calculs sont OK car j'ai des différences avec @JHA (que je salue au passage)
@+ Lolote83
 

Pièces jointes

  • Copie de XAMENOD - Calcul sur date-V2.xlsm
    25.6 KB · Affichages: 3

Lolote83

XLDnaute Barbatruc
Re bonjour JHA,
Si on part du principe que le mode est NORMAL (donc +8 jours) et que l'on rajoute 8 jours au mardi 12/07/22 on tombe bien sur mercredi 20/07/22 (qui n'est pas un samedi, un dimanche et non plus un jour férié) ????
Idem pour le jeudi 28/04/22 (NORMAL donc + 8 jours) donc on tombe sur le vendredi 06/05/22 (qui n'est pas un samedi, un dimanche et non plus un jour férié) ????
De ton coté, pour ces deux dates, tu as une différence de 13 jours ?????
C'est mon avis.
@+ Lolote83
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 391
Membres
102 882
dernier inscrit
Sultan94