Microsoft 365 Comment calculer une date final selon un calendrier.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

HugoM

XLDnaute Nouveau
Bonjour à tous, je viens vers vous car je suis bloqué. Je suis actuellement en train de faire un diagramme de Gantt et je voudrais que celui ci ce rapproche le plus d´un fichier de Microsoft PROJECT.
Je travail dans un atelier d´usinage, les valeurs d´entrées sont les plans et les OF. Le problème est que j´ai 10 machines allant de 101 a 111, je rentre la date de début, je voudrais que Excel me calcule la date de fin en fonction des heures nécessaires pour faire ce plan (facile me direz vous oui mais ...) tout cela en fonction d´un calendrier (calendrier machine = nombre d´heures disponibles pour chaque machine commençant a 6:00 et terminant a 18:00 par exemple.) ET en fonction de la pièce précédente.
EXEMPLE:
Nº pièce 1, machine 101 : 01/01/2022 6:00 -> (2H) -> 01/01/2022 8:00
Nº pièce 2, machine 101 : 01/01/2022 8:00 -> (20H) -> 02/01/2022 16:00 ( de 8:00 a 18:00, 10H disponible + le jour suivant les 10h qui reste de 6:00 a 16:00)

L´excel sera en Espagnol car je réside la bas.
Merci pour votre lecture.

Cordialement,
 

Pièces jointes

Re,
Attention la formule ci dessus donne des erreurs si la durée > 22H.
Dans ce cas utilisez :
VB:
=SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24)
Le "-0.00001" évite une aberration si la fin est pile poil à 18H.
Par ex : 02/01/2022 06:00:00 au lieu de 01/01/2022 18:00:00
Avec le -0.00001 on a bien 18:00.
 

Pièces jointes

Bonjour,
Là, ça devient une usine à gaz avec une formule longue comme le bras.
VB:
=SI(JOURSEM(SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24))=7;
2+SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24);
SI(JOURSEM(SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24))=1;
1+SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24);
SI(OU(HEURE(D7+E7/24-0.00001)>=18;HEURE(D7+E7/24)<=6);D7+E7/24+12/24;D7+E7/24)))
JOURSEM donne le N° du jour, vaut 7 le samedi et 1 le lundi. Il "suffit" de rajouter 2 le samedi et 1 le dimanche.

NB: Si la prochaine requête est de "sauter" aussi les jours fériés, là je pense que seul le VBA trouvera une solution, car trop complexe en formule. D'autant que les jours fériés dépendent du pays où on se trouve.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
661
Retour