XL 2016 Calcul d’échéances avec des conditions particulières

tristaz

XLDnaute Nouveau
Bonjour,

Pour la petite présentation, je suis employé en ingénieur qualité dans l'armement (étatique). Les données de mes demandes seront donc modifiées mais le fond restera le même.

J'ai pour mes travaux, des délais à calculer. Pour se faire j'utilise actuellement la bonne calculette de MS. Cependant, dans une démarche d'amélioration de mon travail, je cherche à automatiser cette étape pour gagner du temps et éviter des erreurs.

Je ne suis pas un génie du VBA, mais ma formation est encore relativement fraiche donc je peux me débrouiller (je pense).

Venons-en à mon sujet :

Un délai est ici calculé à partir d'un T0 qui est égal à "la date de signature de notre fournisseur + 2 jours".

- Si notre T0 calculé est dans le mois d'aout, alors il sera automatiquement égal au 01/09.

- Si notre T0 calculé est dans la période du 10 au 31 décembre, alors il sera automatiquement égal au 01/01/ (année de T0+1)

Maintenant, la partie la plus sportive :

À partir de notre T0 calculé précédemment, nous allons ajouter notre délai de x mois (pour simplifier mon monologue, nous utiliserons le terme DX0) :

- Si DX0 passe par le mois d’août, alors nous ajouterons +31 jours.

- Si DX0 est dans le mois d’août, alors nous ajouterons +31 jours.

- Si DX0 passe par le 10 au 31 décembre, nous ajouterons +21 jours.

- Si DX0 est entre le 10 au 31 décembre, alors nous ajouterons +21 jours.

- Si DX0 est dans la période COVID [01/03/2020 ; 31/07/2020], alors nous ajouterons 140 jours.

Comme vous pouvez le comprendre, un délai peut et c’est là tout le plaisir, passer par plusieurs conditions de neutralisations et donc se retrouver nettement décalé.

Il est aussi important de prendre en compte qu’un délai final calculer pourra encore et encore être décalé s’il « atterrit » dans une période neutralisée.

La dernière complexité réside sur le jour du T0 ou du DX0 final, si c’est un samedi ou dimanche, on le décalera au lundi suivant.

Auriez-vous des idées sur le comment écrire mon petit VBA qui me permettra d’entrer mon T0 en MsgBox et d’en sortir une date directement dans une fenêtre en « pop-up » ?

Je n’ai hélas pas jusqu’à présent trouvé de macro faite que je pourrais adapter, si vous possédez ce graal je suis preneur.

Je ne cherche pas de version finalisée, je veux tout de même comprendre au maximum ce que je présenterez à mes collègues ;)
 

CHALET53

XLDnaute Barbatruc
Bonjour,
Un début d'approche repris sur un cas que j'avais eu à résoudre (ne pas changer le nom de la feuille Salarié)
Il calcule en jours ouvrés et tient compte des jours fériés
J'ai tenu compte des 31 jours pour Aout et 21 pour Décembre. Je n'ai pas intégré le Covid

Le calendrier se crée au fur et à mesure qu'on déroule le nombre de jours prévus pour la livraison
La date fin est en cellule C12 récupérée dans le calendrier de la dernière année
Pour l'exemple : Lance et répondre oui à la suppression des feuille An2020 et suivantes
La feuille Salarié contient les infos : Date Départ et nombre de jours

A te lire
 

Pièces jointes

  • Tristaz Calendrier Date Fin à partir Depart Connue Nbjours ouvrés.xls
    378 KB · Affichages: 14
Dernière édition:

Discussions similaires

Réponses
5
Affichages
241

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T