XL 2010 Mise à jour de listes selon des contraintes

Auzingueur

XLDnaute Junior
Bonjour à tous,

Je viens (une fois de plus) quérir votre aide pour un problème sur lequel je bataille depuis 2 jours et sur lequel je bloque.

J'ai en fait des machine (les Coud) qui peuvent être positionnées à plusieurs emplacements (1, 2, 3 ou 4) et dont on à des contraintes de placement en fonction du poste sur lequel elles sont.

Plutôt que de longs discours inutiles je vous invite à voir le fichier en pièce jointe dans lequel j'ai essayé de reproduire mon problème.

Si des choses ne sont pas claires dans le fichier (j'ai essayé d'expliqué au maximum, mais mon problème est assez complexe), n'hésitez pas à demander, je ferai de mon mieux pour être compréhensible.

Par avance Merci,
Auzingueur

EDIT : J'ai remarqué que mon exemple est éroné par rapport à mon énoncé : j'ai une Coud qui "remonte" d'un poste à l'autre désolé pour l'erreur. Ce tableau gris sera complété de toute façon à partir des listes de produits de la seconde feuille, et ce genre de cas n'est pas censé pouvoir se produire.
 

Pièces jointes

  • contrainteCoud.xlsm
    14.5 KB · Affichages: 82
Dernière édition:

CISCO

XLDnaute Barbatruc
Rebonsoir

Dans ton tableau gris, tu as pour le poste 1 le produit 16 avec la coud 1 sur l'emplacement 1 et la coud 2 sur l'emplacement 2. Qu'est-ce que cela signifie : Que le produit 16 est travaillé avec la coud 1 sur l'emplacement 1, puis avec la coud 2 à l'emplacement 2 ?

Autre question : Est-ce que vous ne traitez qu'un produit par poste ?

@ plus
 

CISCO

XLDnaute Barbatruc
Rebonsoir

Encore une question : le produit 16 n'est pas dans la liste des produits autorisés, ni lors du poste 1, ni lors du poste 2, ni lors du poste 3... Et pourtant il est marqué sur la ligne poste 1 dans le tableau gris. Comment est-ce qu'on peut tenir compte du tableau gris dans ces conditions ?

@ plus
 

Auzingueur

XLDnaute Junior
Alors pour les questions :
- il s'agit d'une ligne de production donc oui il n'y a qu'un seul produit par poste
- coud1 emplacement1 et coud2 emplacement2 signifie que les deux coud sont utilisées en même temps (il faut prendre en compte les 2 contraintes en simultané pour la liste des produits autorisés pour les postes adjacents)
- ensuite le produit 16 n'est pas dans la liste des produits autorisés, il s'agit d'une erreur de ma part, j'ai dû l'oublié (de toute manière dans mon vrai fichier je remplirai ce tableau à partir des listes de produits autorisés donc il n'y aura pas ce genre de problème)


En ce qui concerne le fichier :
- un produit a un emplacement fixe pour ses coud, là je vois le produit 22 avec des emplacements qui varient
- ensuite dans le tableau 1 on a le produit 16 avec les emplacements c1 = 1 et c2 = 2 en poste 1. Poste 2 on a c1 = 3 et c2 = 1. La coud 2 passe donc de l'emplacement 2 à l'emplacement 1, et c'est ce que j'entend par "remonter", qu'on ne peut pas faire.

=> Je pense que pour avoir la liste des produits autorisés pour chaque poste, il faut plutôt partir de la liste complète des produits et enlever à chaque fois les produits incompatibles. Quitte à avoir 1 fonction par poste (qui recalcule les produits autorisés poste suivant et poste précédant), ce serai le mieux comme ça j’appellerai ces fonction lors du traitement de ces postes, et ça m'évitera d'avoir le calcul de tous les postes à chaque fois.


Merci !
Auzingueur
 

CISCO

XLDnaute Barbatruc
Bonjour

Alors pour les questions :
- il s'agit d'une ligne de production donc oui il n'y a qu'un seul produit par poste
- coud1 emplacement1 et coud2 emplacement2 signifie que les deux coud sont utilisées en même temps (il faut prendre en compte les 2 contraintes en simultané pour la liste des produits autorisés pour les postes adjacents)

OK, donc mon tableau 2 ne convient pas. Je n'avais pas compris qu'il s'agissait d'une seule et unique ligne de production, et donc qu'on ne pouvait pas traiter séparément les colonnes correspondant aux couds 1 et 2. Et est-ce que le tableau 3, en dessous du tableau 2, pourrait convenir ?

- ensuite le produit 16 n'est pas dans la liste des produits autorisés, il s'agit d'une erreur de ma part, j'ai dû l'oublié (de toute manière dans mon vrai fichier je remplirai ce tableau à partir des listes de produits autorisés donc il n'y aura pas ce genre de problème)


En ce qui concerne le fichier :
...
- ensuite dans le tableau 1 on a le produit 16 avec les emplacements c1 = 1 et c2 = 2 en poste 1. Poste 2 on a c1 = 3 et c2 = 1. La coud 2 passe donc de l'emplacement 2 à l'emplacement 1, et c'est ce que j'entends par "remonter", qu'on ne peut pas faire.

OK, d'où mes propositions, les tableaux gris 2 et 3.

- un produit a un emplacement fixe pour ses coud, là je vois le produit 22 avec des emplacements qui varient
??? Dans le tableau jaune de ton fichier, on a le produit 22 fait avec la coud 1 dans l'emplacement 3 et la coud 2 dans l'emplacement 1. C'est aussi ce qui est dans ton tableau gris. Donc, cela devrait convenir de ce point de vue (mais pas forcément au niveau de l'enchainement des emplacements, en fonction de ce qu'il y a avant et après).

=> Je pense que pour avoir la liste des produits autorisés pour chaque poste, il faut plutôt partir de la liste complète des produits et enlever à chaque fois les produits incompatibles. Quitte...

J'essaye d'abord de bien comprendre avant d'écrire la macro...

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Autre question : Est-ce qu'on est forcé de respecter l'ordre de production des produits donnés dans la 4ème colonne du tableau gris, ou est-ce qu'il faut juste avoir la même production à la fin de la semaine, à la fin des 15 postes ?

@ plus
 

Auzingueur

XLDnaute Junior
upload_2016-8-5_9-51-55.png


Dans ce tableau l'enchainement 16 ->22 est OK au niveau de la coud1 puisqu'elle "avance" entre les deux postes, mais pas de la coud2 car cette dernière passe du poste 2 au poste 1 sans passer par 0 (inutilisé).

De même pour l’enchaînement 22 -> 13, impossible à cause de la coud1 qui passe de l'emplacement 3 à 2.

Pour enchaîner ces trois produits correctement, il aurait fallu faire 16 -> 22 -> 13.

Ainsi la Coud1 serait passé par les emplacements 1 -> 2 -> 3 et la Coud2 2-> inutilisé -> 1.

Cordialement.
Auzingueur
 

CISCO

XLDnaute Barbatruc
Bonjour

Oui, j'avais bien vu que le tableau 1 ne convient pas, d'où mes propositions tableaux 2 et 3 dans mon post #13. Mes questions sont :
1)
- un produit a un emplacement fixe pour ses coud, là je vois le produit 22 avec des emplacements qui varient
Que veut dire cette phrase par rapport au produit 22 ?

2) Le tableau gris 3, tout en bas, convient-il ?

3) A quoi sert ton tableau gris ? Faut-il produire les produits de la 4ème colonne dans le même ordre, ou doit-on seulement avoir la même production à la fin des 15 postes ?

4) Et j'en rajoute une par rapport à mes précédents posts : A quoi servent les listes de produits autorisés, à compléter le tableau gris pour ne pas avoir de poste sans production, 4 à 15 dans ton exemple ? Sans exemple(s) précis de liste de produits autorisés, et de son évolution en fonction d'un ou deux tableaux gris, j'ai beaucoup de mal pour comprendre ce que doit faire la macro.

J'ai bien compris, depuis un certain temps, comment peuvent se déplacer les couds d'un poste au suivant. Par contre, je n'ai pas compris à quoi sert le tableau gris, les listes de produits autorisés, et les liens entres eux. Si tu ne réponds pas précisément à mes questions, cela risque de prendre du temps avant que je comprenne précisément ta demande.

@ plus
 
Dernière édition:

Auzingueur

XLDnaute Junior
1)
upload_2016-8-5_18-40-57.png

Dans ton tableau de (ci dessus) tu as aux poste 2 et 3 le même produit (22) avec deux emplacements de coud différents (3-0 puis 0-1). Ceci est impossible, le poste 22 aura tout le temps le même emplacement quelque soit son poste.

2) Le tableau 3 convient bien oui.

3) Mon tableau gris fait office (dans mon exemple) de planning, c'est c'est lorsqu'on aura une modification sur ce tableau que la macro s'effectuera. Dans mon véritable fichier, j'ai déjà une maccro qui s'applique au changement d'une colonne, je l'ai créé a l'aide d'un worksheet_change.

4) En fait ces listes existent déjà dans mon vrai fichier. Mon planning est remplit à partir de ces listes de produits autorisés, c'est a dire que mes cases de planning sont en fait une liste ou je choisis parmi les produits de la plage de données correspondant aux produits autorisés du poste en question. Mais j'aimerai que ces listes se mettent à jour de manière "dynamique" lorsqu'une modification est faite dans le planning (mon tableau gris dans l'exemple).
Pour l'exemple je n'ai pas reproduit ce système de liste pour remplir le tableau gris car ce n'est pas le coeur du problème ici (ce processus fonctionnant déjà dans mon vrai fichier).
En gros la macro souhaitée doit à chaque modification du planning (tableau gris) mettre à jour les listes de produit autorisés adjacent au poste modifié (poste avant et poste après) pour que seul les produits compatibles avec les règles n'y figurent.

Voilà
Merci
Auzingueur
 

CISCO

XLDnaute Barbatruc
Bonjour

Enfin, on y arrive. Effectivement, je t'avais proposé le tableau 2 sans avoir compris qu'il s'agissait d'une seule et unique ligne de production, et donc qu'on ne pouvait pas "étaler" la fabrication d'un produit sur plusieurs postes (ce qui permettait de passer par l'emplacement 0 pour l'une des couds au moins).

En fait, plutôt que de donner une liste des produits autorisés pour chaque poste, ne serait il pas plus intéressant d'avoir pour chaque produit la liste des produits autorisés lors du post suivant ?

@ plus
 

CISCO

XLDnaute Barbatruc
Bonjour

Cf. une possibilité en pièce jointe.

Le tableau commençant en G20 donne automatiquement la liste de tous les produits autorisés à l'horizontale, celui en AH20,la même chose mais à la verticale, en fonction des données dans A21:C45 (Efface les plages bleues, et relance les macros correspondantes pour voir).
Dans le tableau gris, dans AG2, j'ai mis une première liste déroulante proposant tous les produits. Dans AG3 et en dessous, il y a une autre liste déroulante donnant les produits autorisés en fonction du produit de la cellule juste au dessus (cette dernière liste déroulante est faite avec le second tableau, celui commençant en AH20). Ainsi, on respecte forcément l'ordre de déplacement des couds, ou on repasse par 0.

Dis moi si ce type de résultats pourrait t'intéresser et comment il faut le présenter.

@ plus
 

Pièces jointes

  • contrainteCoudbis.xlsm
    31 KB · Affichages: 42
Dernière édition:

Auzingueur

XLDnaute Junior
J'avais déjà eu cette idée, mais l'ennuie c'est que cette contrainte n'est pas la seule et ces listes sont toujours positionnées sur les mêmes colonnes mais ne réfèrent pas tout le temps aux mêmes plages de données.

Cette contrainte sera calculée après d'autres donc j'aimerai partir de la liste des produits autorisés sur chaque poste (pas la liste complète, mais bien les plages "produitsAutorisesP1", "produitsAutorisesP2"...) et y enlever les produits non autorisés pour le poste avant et pour le poste après.

Merci.
Auzingueur
 

Auzingueur

XLDnaute Junior
Ah et il doit y avoir un problème dans ta macro parce que je vois d'après ton tableau que le produits 1 ne figure pas dans la liste des produits autorisés pour le code Prod 2 alors qu'il n'y a normalement aucun problème.

EDIT : Je pense repartir de ton idée mais en modifiant un peu : lister dans un premier temps les produits interdits puis une 2nde macro sera dédiée à la modification des listes. Ça me permettra de limiter les calculs.
 
Dernière édition:

Auzingueur

XLDnaute Junior
A l'aide de ton fichier j'ai récupéré la liste des produits interdits avant et après chaque produit.

Il me reste à présent à faire la mise à jour des listes de produits autorisés en fonction du poste.

Ci-joint un nouveau fichier illustrant ce dernier problème : j'aimerai que la liste se mette à jour en fonction des changements sur le poste.

exemple :
Si on met le produit 10 au poste 2 (Cellule AJ3)
-> La liste des produits autorisés poste 1 se verra retirer les produits interdits avant le produit 10
-> La liste des produits autorisés poste 3 se verra retirer les produits interdits après le produit 10

Le problème c'est que j'aimerai qu'il n'y ai pas trop de temps de calcul, d'ou l'idée de faire 1 fonction par poste (je saurai adapter le code si il est fait une fois...

Merci
Auzingueur
 

Pièces jointes

  • changeListCoud.xlsx
    11 KB · Affichages: 47
  • changeListCoud.xlsx
    11 KB · Affichages: 41

CISCO

XLDnaute Barbatruc
Bonjour

Ah et il doit y avoir un problème dans ta macro parce que je vois d'après ton tableau que le produits 1 ne figure pas dans la liste des produits autorisés pour le code Prod 2 alors qu'il n'y a normalement aucun problème.

Effectivement, j'avais mal pris en compte les cas avec un 0 dans la cellule dans la plage B21:C45 (à savoir que 0 n'est pas > à 1, 2 ou 3 mais ne pose pas problème pour positionner la coud correspondante).

J'ai modifié ma dernière pièce jointe en conséquence.

Je regarde tes autres posts.

@ plus
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 920
Membres
103 404
dernier inscrit
sultan87