Microsoft 365 Calculer une date de fin d'une tâche en tenant compte de sa durée et une plage horaire

xls_62

XLDnaute Junior
Bonsoir,

Je travaille sur un fichier de planning machines qui contient 4 feuilles ( 1 feuille = 1 machine) et chaque feuille contient X lignes de tâches à traiter.
Le besoin est de calculer la date de fin de chaque ligne d'opération listée dans la feuille de calcul et qui dispose naturellement d'une durée donnée.

Exemple :

FEUILLE PROCESS1
Date de fin A CALCULER : Colonne H29 , et Je dispose :
+> Durée de la tâche : colonne I29 pour la ligne 29
+ >Date début de calcul : colonne G29 ( date renseignée en manuel)

Remarque : Date début de la ligne suivante G30 = H29 ( date de fin de la tâche précédente = date de début la tâche suivante )

Contraintes :

1. Ouverture horaire par machine ( process1, process 2 etc), Plage horaire disponible : Colonne C1 -> C6 => Ouverture reste variable 1*8 ou 2*8 ou 3*8 selon la machine.
2. Les jours fériés ( Colonne C14-> D26)
3. Lignes de calcul sont estimées à 200 ligne ( une moyenne)

Je mets en PJ un fichier type, en espérant que j'étais clair dans mes explications.

Par avance, Merci pour vos retours.
 

Pièces jointes

  • Copiedatefin.xlsx
    32.4 KB · Affichages: 31
Solution
Bonjour

Cf. une solution en pièce jointe. A tester/vérifier davantage bien sûr.

Pour avoir des formules plus courtes, j'ai défini davantage de noms. Comme d'habitude, cela n'a pas que des avantages : Les formules sont plus courtes, mais moins compréhensibles.

Pour n'avoir à définir chaque nom qu'une seule fois (et non une fois par feuille), j'ai défini le nom nomfeuille et j'ai utilisé très souvent des INDIRECT(nomfeuille &"!..."). Par ex, j'ai fait avec DébAM =INDIRECT(nomfeuille&"!C2")*24*60 au lieu de faire avec DébAM1= Process1!$C$2*24*60, DébAM2= Process2!$C$2*24*60, DébAM3= Process3!$C$2*24*60 et ainsi de suite.
Comme d'habitude, cela n'a pas que des avantages : Les pages ne sont pas mises à jour automatiquement. Lorsqu'on...

CISCO

XLDnaute Barbatruc
Bonsoir

J'ai un peu oublié tout ça depuis le temps. J'aurai mieux fait de mettre quelques commentaires dans la définition des noms...

A quoi servent les valeurs et les formules dans C14:H26 ? A rien il me semble.

@ plus
 
Dernière édition:

xls_62

XLDnaute Junior
Bonsoir

Au plaisir... et en espérant que d'autres comprendront mes formules tordues... Ne pas oublier de faire la mise à jour à chaque changement de feuille... J'ai essayé avec les touches F1, F2... F12, mais cela ne fait pas le taf. Une écriture quelconque dans une cellule quelconque fait le travail...

@ plus
Bonjour Cisco,
Je me permets de revenir vers vous sur le sujet ci dessous car je suis embêté avec la formule matricielle.
En fait comme discuté, y a 4 onglets et le souci c'est que l'onglet 2/3 va chercher la date de fin dans l'onglet 1 ( process linéaire) alors que l'onglet 1 perd le calul dès que je change de feuille.

Y a 'il une solution à cette problèmatique svp ?

Merci de votre retour ( vraiment urgent).

cdt,
 

CISCO

XLDnaute Barbatruc
Bonjour

Les formules de mon post 7 utilisent 12 noms, avec nomf qui désigne le nom de la feuille en cours et beaucoup de INDIRECT pour aller chercher les valeurs intéressantes dans la feuille en cours (Process1, Process2, Process3 ou Process4).
Exemple : On utilise
DèbAM = INDIRECT(nomf&"!C2")*24*60, valable dans toutes les feuilles
au lieu de
DèbAMP1 = Process1!$C$2*24*60 qui n'est valable que dans la feuille Process1

Ainsi, on n'a pas besoin de définir les noms pour chaque feuille : Une seule définition polyvalente fonctionne pour les 4 feuilles. On n'a pas 11 x 4 noms, mais uniquement 11 noms et nomf.

Comme cela semble poser un problème de mise à jour lorsqu'on passe d'une feuille à une autre, je viens de faire un nouveau fichier avec ces 11 x 4 noms.
J'ai rajouté P1, P2, P3 et P4 à chaque nom (4 noms au lieu d'un !) pour désigner le nom de la feuille où est valable le nom en question (pour Process1, DèbAMP1 au lieu DèbAM, pour Process2, DèbAMP2 au lieu de DèbAM et ainsi de suite).
C'est juste une histoire de copier/coller et de modification des formules. Cela ne pose pas trop de difficultés pour les premiers noms, avec des formules assez courtes,
1651131481294.png


par contre, c'est moins évident pour les derniers, avec des formules plus longues.
1651131505285.png


J'espère ne pas avoir oublié de remplacer un 1 par un 2, un 2 par un 3...

Normalement, cela devrait mieux fonctionner.

On peut changer le nom des feuilles. Cela donnera des formules moins longues si c'est bien fait.

@ plus
 

Pièces jointes

  • datesuite2 xls_62sans nomfeuille.xlsx
    37.3 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 070
dernier inscrit
jujulop