Algorithme VBA

Fermé
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011 - 27 janv. 2011 à 11:40
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011 - 18 mars 2011 à 09:39
Bonjour,

A partir d'une largeur de bobine brute et de largeurs commandées, je dois trouver tous les plans de découpes possibles.
Un plan de découpe est acceptable si : largeur bobine - (nb1*largeur1 + ...+ nb10*largeur10) < largeur 1. On considère ici que l'on a 10 largeurs commandées et que largeur1 est la plus petite largeur.
nb1 varie de 1 à nbmax = (largeur bobine / largeur 1)

Il faut donc tester toutes les possibilités en faisant varier les nb de 1 à nbmax.
Si la formule est satisfaite, il faut donc retenir les variables nb.

J'aimerais avoir de l'aide pour réaliser ceci en VBA, en sachant que je n'y connais pas grand chose.

merci beaucoup


14 réponses

aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
3 févr. 2011 à 21:03
personne pour me repondre? merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 févr. 2011 à 09:47
Bonjour,

On aimerait bien aimé, mais ton exposé est incompréhensible....

Au besoin, mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/

0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
4 févr. 2011 à 11:49
Vous trouverez le fichier avec quelques explications à cette adresse :

http://www.cijoint.fr/cjlink.php?file=cj201102/cijys8edyP.xls

Merci beaucoup pour votre aide.
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
7 févr. 2011 à 09:30
personne n'a de solution?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 févr. 2011 à 12:45
Bonjour,
Si je comprend ==== entre les lignes === tu à 10 largeurs à disposition et 1 largeur de bobine.
Tu voudrais choisir dans ces 10 largeurs la meilleur façon d'employer la largeur de la bobine avec le moins de déchet possible, que ce soit avec 1, 2, 3,.. largeurs et ensuite d'afficher les largeurs sélectionnées.
??
A+
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
7 févr. 2011 à 17:59
Bonjour,

Je pars d'une bobine d'appro de 1250 mm de large et 1013 m de long.
J'ai une liste de commandes. Pour chaque commande il y a une largeur demandée et aussi une longueur.
Le but est de savoir de combien de bobines j'ai besoin pour satisfaire toutes mes commandes tout en minimisant les pertes.
A la fin je veux donc savoir le nombre de bobines de 1250mm/1013m dont j'ai besoin et les pertes éventuelles sur chaque bobine.

Donc dans un 1er temps, j'ai pensé qu'il serait intéressant de trouver toutes les gammes possibles (plan de découpe) en largeur. Il peut y avoir X largeurs commandées différentes (ex : 200, 500, 700, 1250mm).
Un plan de découpe serait acceptable si : largeur bobine appro - (nb1*largeur1 + ...+ nb10*largeur10) < largeur 1. On considère ici que l'on a 10 largeurs commandées et que largeur1 est la plus petite largeur.
nb1 varie de 0 à nbmax = (largeur bobine appro / largeur 1)
nb2 varie de 0 à nbmax = (largeur bobine appro / largeur 2)
etc...
Le problème est qu'il y a un grand nombre de combinaisons à tester si il y a beaucoup de largeurs différentes.

Est ce que c'est plus clair? merci pour votre aide
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 7/02/2011 à 18:43
Un simple OUI aurait suffit pour confirmer mon poste précédant.
Mais il manque une donnée, les "longeurs" peuvent-elles varier ou c'est toujours la longeur de la bobine.
Y a-t-il une perte avec la découpe ? (exemple : largeur de la scie)
Note : je tient pas à recommencer 25 fois.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
7 févr. 2011 à 19:09
non pas de perte avec la découpe.

La longueur de la bobine d'appro ne change pas, ce sera toujours 1013m. Par contre comme indiqué dans mon fichier excel, lorsque les clients passent une commande, ils spécifient un poids commandé, un poids minimum et un poids maximum. ex : un client commande 20 tonnes mais désire des bobinos compris entre 2 et 4 tonnes. Il faudra donc en faire plusieurs.

Moi, ce poids, je le traduis en longueur à l'aide d'une formule. On a donc une longueur commandée, une longueur mini et maxi.

Si la prise en compte des longueur mini et maxi est trop compliquée, prenez seulement en compte la longueur commandée.

Merci beaucoup.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
8 févr. 2011 à 10:45
Ça commence à être.. heuuuu, tu ne donne toujours pas une réponse concrète...
Maintenant tu parle de poids ?
Donne le libellé EXACT d'une commande client. (Et pour l'exemple donne plutôt 3 commandes que je comprenne mieux)
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
8 févr. 2011 à 16:24
ne prenez pas en compte le poids.seulement largeur et longueur.

Voici le fichier avec les données rapatriées de Business objects :http://www.cijoint.fr/cjlink.php?file=cj201102/cij8uMKacV.xls

Pour chaque PB, on a donc un format de bobine d'appro : largeur et longueur appro (données en bleu) et on a une liste de commandes avec les infos essentielles (en jaune) : largeur cdée, longueur totale de la commande, longeur mini bobine et maxi.

Au final, je veux par PB, le nombre de bobines d'appro dont j'ai besoin et les pertes éventuelles sur chaque bobine.

Est ce que c'est clair? merci
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
8 févr. 2011 à 17:05
sic : Est ce que c'est clair?
Non, pas du tout.
Dernier essais de compréhension,

Je n'ai pas de boule de cristal suffisamment performante pour te suivre.
Suivant tes données c'est impossible d'en tirer une conclusion valide.
1°) Tu dis que les bobine font 1250mm de large et tu a des largeurs commandées de 1500 ?? tes bobines sont en caoutchouc et ont peu les étirer.?
2°) longueur mini et maxi... mais c'est quel longueur qui est commandée ? si ça dépasse les 1013m faut découper dans 2 bobines ou bien les longueurs sont aussi en caoutchouc ?
3°) Et je sais pas ou tu va chercher la longueur totale vu qu'elle ne peut être retrouvée nulle part. A moins que ce soit la longueur nécessaire pour réaliser la commande ?
4°) Et pour terminer, Donne le libellé D'UNE SEULE COMMANDE et ensuite le résultat DÉTAILLER de ce que tu veux retrouver.
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
8 févr. 2011 à 19:41
1) Non, la largeur d'appro est différente selon le PB. Si il y a une largeur commandée de 1500mm, c'est que l'on part d'une largeur d'appro de 1500mm.

2) Le client spécifie un poids total commandé avec un poids mini et maxi de bobine. Moi, je traduis ces différents poids en longueur car difficile d'optimiser avec des poids... Si tu regardes la première ligne de mon fichier, le client passe une commande de 20T mais désire des bobines comprises entre 7000 et 22000 kg. 22000kg est plus grand que 20T mais on peut envoyé au client plus ou moins 10% de son poids commandé. Donc dans ce cas ci, on peut par exemple lui envoyer une bobine de 22T ou 20T ou 3 bobinos de 7T =21T par exemple.
Il faut privilègier la longueur maxi.

résumé : les longueurs des bobines livrées au client doivent être comprises entre longueur mini et longueur maxi et la somme des longueurs des bobines livrées doit être égale à la longueur totale commandée avec une marge d'erreur de plus ou moins 10%.

un filtre que j'ai oublié de mettre : si longueur mini bob>poids commandé alors on supprime cette commande. On considére qu'elle est satisfaite. En réalité "poids commandé" est pour moi le reste à faire sur la commande.

"si ça dépasse les 1013m faut découper dans 2 bobines ou bien les longueurs sont aussi en caoutchouc ? "
J'ai modifié les 1013m en 4000m pour ne pas que ça pose de problèmes. Les longueurs d'appro n'ont pas encore été décidées et seront également par la suite différentes selon le PB.

3) La longueur totale est la traduction du poids commandé.

4) Voir fichier suivant (feuilles 2 et 3) :http://www.cijoint.fr/cjlink.php?file=cj201102/cijFPPiowH.xls
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
8 févr. 2011 à 20:59
J'ai l'impression que tu avance dans le vide encore plus que moi.
Reviens quand les décisions et paramètres seront DÉFINITIVEMENT FIXÉS
Abandon (provisoire) du suivi
0
aruna62190 Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 26 avril 2011
18 mars 2011 à 09:39
Avez vous regarder mon projet? merci
0