VBA simulation estimation

je ne sais pas comment votre transport interne est organisé et je suppose que cela est fait avec des chariot à etages et supposons qu’un tel chariot a 10 positions/bacs. Au début, on vous donne une liste imprimé ou un scanner à main et avec cela on vous donne une route avec plusieurs points, qu’on doit faire dans une séquence fixe et on vous dis aussi que vous devez placer le produit du point X dans bac Y de votre chariot. Comme on part avec 10 bacs, c’est possible que la commande de votre client est trop grand pour un chariot, donc on doit diviser cette commande en plusieurs sous-commandes, de manière intelligente. Mais c’est aussi possible qu’on peut combiner plusieurs petites commandes pendant la même route et comme on les met dans vos 10 bacs du chariot, Il n’y a pas de problèmes pour mélanger des commandes et il n’y a pas le danger d’endommager à cause du poids ou format.
Quand on a fait son tour, vous allez vers une poste de travail et là, vous avez le choix d’emballage et vous y préparez votre commande avec les objets lourds en bas et les objets fragiles en haut.
Donc le picking n’est qu’une phase et le vrai emballage et expedition se fait plus tard et eventuellement par une autre personne. La personne qui fait le « picking » peut à ce moment commencer une nouvelle commande avec un autre chariot. Supposons que vous n’avez pas encore des scanner à main, la personne du « picking » reçoit son nouveau tour sur papier dans une presse-papier et ce papier contient aussi les informations nécessaire pour l’emballage, parce que ce presse-papier reste avec le chariot.
Donc les personnes « Picking » sont des gens sportifs et forts, ceux de l’emballage sont plutôt précis. Si possible, on peut donner des transpallets motorisés pour déplacer ces chariots aux pickers.
Les chariots du zone « lourd » (vin, lait) et ceux du zone sensible (parfums) sont différent.

Hello,

Merci vraiment de continuer à m’accompagner.

Je comprends mieux. C’est vrai que je ne vous ai pas vraiment donné d’explications sur l’organisation.

Comme décrit plus haut, chaque zone a son lot de produits.

Chaque préparateur de commande commence du point A au point Z. Dans leur zone respective, ils vont scanner une commande qui va déclencher le processus ( avec un scanner au bras ) pour aller chercher chaque produit de la commande. Cela s’effectue avec un chariot et une boîte sur le chariot. Dans cette boîte, nous pouvons placer 3 sacs.

Potentiellement, dans les plus grandes zones, il peut y avoir entre 50 et 60 préparateurs en même temps.

C’est pourquoi le placement des produits est réfléchi pour que nous ayons les produits les plus lourds en premier et les plus légers à la fin.Trié aussi part famille pour évite de prendre part exemple une bouteille de vin au début du chemin et une autre a la fin . nos collegues peuvent ranger directement dans le tour pour juste envoyé les boites et recommencer. il ce peux pour un tour qu’il y a plusieur boite, il prendrons donc un plus grand chariot. Chaque préparateur c’est combien de produit il va avoir et combien de boite il va utilisé. Une fois que le préparateur de commande a terminé son tour, il ferme la boîte contenant les 3 sacs et la met sur un convoyeur. Chaque zone va effectuer cette opération, et les boîtes sont replacées informatiquement par le service d’expédition avant d’être envoyées au transporteur.

Une zone commence les préparations de commandes de sorte que, si dans une autre zone il n’y a qu’un seul sac (par exemple, juste un paquet de jambon pour le frais), il puisse être mis sur une étagère pour être récupéré dans le chemin de picking de cette zone, afin d’économiser un peu sur les boîtes.

Serait-il possible de me transmettre le fichier où vous avez la feuille « Test Picking » ?

Donc, position 1 = 503L0, au niveau plus plus accessible, contient un produit du top-5 des plus lourd produits. Autour de cette position, donc une autre étage ou à gauche ou droite, ce sont aussi des produits lourds ou ce sont des produits de la même famille ?

Une commande est toujours un bac, dans mon usine en Allemagne, une commande était entre 1-100 bacs :sweat_smile:.

Modifier le chariot d’un bac en 2-3 bacs, c’est négociable ?

Le fichier de hier avec dans la feuille « Test_picking » colonne Z 100 commandes aléatoires, maintenant ces chiffres sont les positions de « News Position GPS » mais le but final serait d’avoir là des vrais produit et qu’on doit traduire cela en une position.
Vous faites ce teste avec 100 commandes et vous notez la contenu des cellules jaunes. Puis vous avez un autre idée et vous changez quelques produit de place et vous faites le teste de nouveau et vérifiez si c’et mieux ou pas.

Vous avez excel365 ?
FichierdetravaillePlan.xlsm (455,1 Ko)

1 « J'aime »

Non pour le point de départ celle-ci commence avec sa zone et son premier segment chemin de picking.

Normalement les noms des étagères suit une suite logique :

Au départ nous devrons retrouvé 501A(5) pour a gauche 501A(0) pour la droite les deux sont bien sure en face l’une de l’autre , prochaine étagère 501B(5) , 501B(0) ainsi de suite.

Pour une commande il es possible que le scanner envoie directement au 501S(5) part exemple.

Une fois le tour commence il est impossible que le scanner renvoie en arriéré une fois le tour commencé il devrons faire tout le tour, avant d’envoyé leur boite avec les sacs dedans et repartir pour une nouvelle commande.

Si j’ai bien compris vous attribué un numéro au produit qui sont dans la feuille « News Produit » ?

Oui je suis sure Excel365

J’ai essayé de reprendre votre mise en place. Mais c’est beaucoup moin fluide

Si l’on clique sur le bouton « Chemin », une forme rouge va effectuer les chemins de picking par zone, avec l’option « two direction » (revenir au point de départ du segment avant de passer au prochain).

Ce que j’essayais de faire, c’est qu’avec cette mise en place, il puisse me noter le nom de la forme (étagère) qu’il croise et à quel pourcentage, dans le segment, elles sont placées.

Ceci pour qu’ensuite il puisse faire une estimation de produit. Comment trouvez-vous cette approche ?

Pardon si je manque de clarte mais j’ai passer la journée dessus je pense qu’une biere bien fraiche me fera du bien :slight_smile:

Merci,
salutations.

FichierdetravaillePlan (1).xlsm (252,5 Ko)

bon, je ne suis pas sûr ce que vous demandez, alors je vous donne le X&Y de votre forme rouge et puis la forme la plus proche et ses coordinates de la feuille « CoordinatesFormes »
FichierdetravaillePlan (1) (1).xlsm (276,2 Ko)

PS. Santé …

1 « J'aime »

on a cette macro et si bMontrer=true, vous verrez passer 100 commandes en 23 secondes (4 commandes par seconde) et si bMontrer=false, on voit rien, mais il fait le même calcule en 2 secondes.
Ca, c’est le but, simuler beaucoup de commandes représentatives et minimaliser le temps.

`Sub T_Exécuter_100_Ordres()
     Dim bMontrer
     bMontrer = False                         'veuillez vous suivre l'exécution dans la feuille "Rack", alors True autrement False
     Application.ScreenUpdating = bMontrer
     If bMontrer Then Application.Goto Sheets("Rack").Range("DG53"), 1
`

Il y a encore un problème à expliquer concernant le temps qu’on perd pendant le picking, dépendant de l’étage. Voir colonne O de « test_picking ». Celui prend le code ASCII de lu 3ième charactère de la colonne C, donc ce A,B, … de vos positions.
Le code ASCII de A = 65, de B= 66, etc. Donc cette colonne dit qu’un pick d’un étage A, B, C, … est 2, 4, 6, 8, … secondes. Cela n’est pas le temps réel. Savez vous me donner un estimate. Dépendant de l’étage, combien de temps a-t-on besoin ?

Puis je pense que vous avez besoin de toutes les commandes du dernier mois par exemple et de compter bien de fois un article a été demandé + le total (en unités) + le poids d’un unité. Puis je pense qu’on doit faire un tri avec le poids comme clef primair et avec le nombre de commande comme clef secondaire ou l’inverse, je ne le sais pas encore. Vos produits Top-38 de cette liste, on les met dans l’étage le plus facile accessible. les 38 suivants dans l’étage le 2ieme plus facile accessible etc.
De cette manière, on perd un minimum de temps avec les produits populairs.
Les exotiques, les produits rarement demandé, on les met dans les 3 racks à gauche, la distance est plus loin, donc on ne perd pas trop de temps avec ce détour.

Ca, c’est mon idée, une esquisse de la façon dont je pense que vous devriez travailler avec flexibilité … :nerd_face:
FichierdetravaillePlan.xlsm (520,5 Ko)

Bonjour Cow.

Wahou, j’adore votre approche et merci de m’apporter une vision supplémentaire :blush:.

C’est en cours, je suis en train de demander au data analyste les données pour les commandes du mois.
Un mois de commandes peut potentiellement représenter plus de 80 mille commandes. Cela ne fera-t-il pas trop en termes de données à vérifier ?

Pourrions-nous nous servir des produits réels de la feuille « News Produit » ?

Nous sommes sur la même longueur d’onde ; effectivement, les ABC sont importants.

Nous pourrions partir sur une moyenne de 12s (temps entre deux cueillettes), et rajouter 1.5s pour les produits C, 1s pour les produits B.

Hmm, je ne sais pas si cela est très clair ? :frowning:

Pourriez-vous m’expliquer comment vous avez fait cela et comment je dois comprendre la structure ?

En tout cas mille merci pour m’aider dans ce projet , encore une fois excel m’etonne , mon mentor m’a toujours dit tout es possible , mais j’avais peur que celui ci soit trop onéreux mais ont avance a grand pas :slight_smile:

Merci

merci.
comme la seule chose connu ici, ce sont les positions de vos formes dans la feuille « News Position GPS » plage A3:K63 et pour créer 5 segments dans cette zone, j’ai recherché les coins dans la plage S3:X7.
Donc mon segment S1 = le couloir direction gauche, S2-S4 = ces petit couleurs à gauche avec S2 celui en haut et S5 = le couloir direction droite. J’ai ajouté cet information on colonne K.
la plage verte avec ces 100 ordres fixes = la macro « T_Creer_100_Ordres ». Elle crée 100 lignes avec aléatoire entre 1-25 positions de la plage A3:A63 de « News Position ». Le choix est le numéro de la ligne, ici on a 63-3+1 = 61 lignes, donc vous verrez là entre 1 et 25 numéros entre 1 et 61. Vous parlez de 80.000 lignes, ma macro fait ces 100 commandes en 2.75 sec, alors 80.000 lignes sera 2.200 sec = 36 minutes. Beaucoup, C’est peut-être mieux de commencer avec les commandes d’un jour, cela sera 1-2 minutes. Mais pour commencer 100 exemples représentatifs suffisent.

Puis vous avez T_Exécuter_100_Ordres et T_Exécuter_1_Ordre pour ces 100 commandes de la plage verte ou bien une commande spécifique. Par exemple on fait la commande simple, le 21 = le Z21 avec seulement une position, 20. La macro copiera est collera les données de la ligne 20 de la plage A3:K63 = A22:K22 = position 502A0 vers A2 de « Test_picking ». Vous voyez bien qu’elle se trouve dans le segment S2. Mais on doit passer par quelque jalons que j’ai ajouté dans cette plage orange T6:W15. Les 4 premières lignes de cette plage sont obligatoire. Ce sont le point de départ et d’arrêt et les point à gauche au bout des couloirs S1 et S5 et vous les voyez bien, ce sont ceux des 2 fleches rouge et noir a droite de l’image. Puis quand on entre dans le segment S2, j’ajoute aussi 2 jalons pour ce segment, la 5ieme et 6ieme ligne de la plage orange. Il y a de valeurs négatifs la dedans, mais je calcule en absolut et ces valeurs y sont pour le tri plus tard.
Quand vous inspectez l’image attentivement, vous voyez donc 6 jalons (=points obligatoires) et ce seul point « picking ».
Donc, la liste dans les colonnes A:K de « test_Picking » contient les points de picking et les jalons (entre 4 et 10, la plage orange) qu’on doit passer pour y arriver.
La seule chose qu’on doit faire, c’est trier et c’est tout.
Quand vous faites le même truc avec commande complexe, le 10 (ipicking=10 dans cette macro), vous devez voir les 10 jalons obligatoires et les 25 points « picking »

nouveau fichier, les jalons (point obligatoires) sont maintenant rouge.
On a la plage bleu de Q6:R20 pour le temps de picking (colonne O)
FichierdetravaillePlan.xlsm (529,2 Ko)

Pff, quel job ! :slight_smile:

C’est tellement intéressant et motivant :slight_smile:

J’ai relu plusieurs de vos explications et je pense que, pour le moment, je n’ai pas tout compris.
Mais effectivement, les résultats semblent prendre un excellent chemin.

Merci. :slight_smile:

Où j’ai du mal à me positionner, c’est sur comment passer à la prochaine étape.

Dois-je créer une feuille avec une liste de commandes ?

Comment catégoriser les familles de produits pour pouvoir les trier ?

Est-il possible de choisir la zone de simulation souhaitée ?

Comment avoir un visuel sur les propositions de placement ? 500A5, tel produit, etc. ?

En s’assurant que les produits proposés ne dépassent pas le volume de l’étagère.

Faut-il indiquer pour les produits leur position actuelle pour une meilleure proposition ?

Ou est-ce qu’on fait une liste des produits affiliés à cette zone et on laisse faire ?

Pardon pour autant de questions, je réfléchis à voix haute en général, cela m’aide à savoir comment aborder la prochaine étape.

Vous semblez bien connaître la logistique et avoir de l’expérience. Et comme c’est avec les personnes d’expérience que l’on devient soi-même expérimenté, j’abuse sûrement déjà un peu de vous. :frowning: Désolé.

ha, je suis déçu, mes experiences ne servent à rien … .
Essayez à me suive !
la feuille « simulation » :
les colonnes A:E sont les positions de « picking » pour les 5 segments (vos chiffres) et puis chaque positions a 5 étages (A:E), les coordinates XY sont les colonnes C:D. (la colonne X’ n’était là pour trier). Donc on a 20+18+9+9+5= 61 positions * 5 étages = max = 305 produits possibles.
Le tableau à côté : j’ai créé 305 produits
les cellules orange : je les ai donné une valeur aléatoire de « popularité » et puis je les a trié avec ce score. Vous voyez leur rang dans la colonne J.

Vous avez dit que le picking était 12s, +1 ou +1.5 pour B et C, bon, maintenant le temps de picking est entre 12 et 13.5, voir plage Q6:R10 de « Test_picking » et donc la séquence idéal est AEDBC. Déjà, je vous préviens, la différence entre le plus court et le plus long « picking » n’est que 1.5 sec ou max 11%, la moyenne est 12.56 sec si on met tout aléatoire, les gains ne sont pas vraiment grand. Si on met tout en étage A = 12 sec = 12/12.56 = 95,5% = 4.5% gain, si on met tout en C = 13.5 → 13.5/12.56 = 1.07 = 7% plus long. :cry:

Je ne connais pas des familles de produits, donc je les attribue en fonction de leur popularité, j’ai 38 positions dans S1&S5, le TOP-38 est pour le niveau A de S1&S5, met les produits et comme le méthode idéal est AEDBC, les 38 suivant sont pour le niveau E, les 38 suivant pour le niveau D, etc. Résultat: les 190 produits les plus populaire sont dans les segments S1&S5.
Même principe pour S2 pour les produits avec rang 191-235 dans ses niveau AEDBC etc. Voir colonne N de « Simulation ».
Donc maintenant mes 305 produits ont les place dans votre magasin, d’une manière « intelligemment chaotique » dans les colonnes M:Q
Si on ne l’avait pas fait et mis tout complètement aléatoire, c’est les colonnes R:V, la méthode « aléatoire ».

Maintenant quelle méthode est mieux et combien est la différence ?
Je crée 100 commandes avec entre 1 et 30 produits avec la macro « SIM_Creer_100_Ordres ». 30 produits, c’est realistique ? On verra plus tard que pour ces 100 ordres le nombre de produits est par exemple 1.600, donc en moyenne 16 produit par commande, C’est ça ? Si c’est moins le temps de « picking » réduit mais le temps de circulation reste le même.

Maintenant on fait une simulation pour ces 100 ordres dans le système et en AT1 vous pouvez choisir entre « intelligent » et « chaos » et le bouton bleu à côté pour lancer la macro. J’ai des problèmes pour traduire distance en temps, donc j’ai ces paramètres dans la plage AP9:AQ9, ce qui veut dire la somme de la distance dans la cellule AP5 divisé par 2.000.000 est maintenant 4:06:54 ou 4 heures et 7 minutes, ce 2.000.000, cest a une vitesse nominal de 2.000.000 points par heure et un points = ? mètre. La cellule AQ5 c’est la somme du temps « picking » et si je divise cela avec 86400 vous l’avez en format « hh:mm:ss ».
On commence avec « Chaos » et lance la macro, les cellules jaunes de AO2:BB7.
1ier cadre : Circulation est 4 heures et picking est 5.5 heures,
2ième cadre : 61% picking en S1&S5, 19, 14 et 7% dans les autres segments
3ième cadre : les 5 niveaus ont tous environ 20%
Temps de picking en moyenne = cellule BB2 = 12.56 (la moyenne qu’on avait dit ici dessus)

Je copie et colle cette plage en dessous pour comparer dans un instant

Maintenant on choisit pour « intelligent » et lance la macro.
Les mêmes cellules
cadre1 : le temps de circulation et picking sont 2.75 et 5.5 heures, ce qui veut dire que le temps de circulation est 2/3 comparé au précédent mais il n’y a que 4 minutes ou 1.2% gain avec le temps de picking. décevant
Cadre 2 : 87% était dans S1&S5, 7%, 5% et 1% dans les autres segment.
Cadre 3 : A, E et D (avec temps d’environ 12 s) ont 27%, 26% et 19%, donc ils ont eu un traitement préférentiel ! Et le temps moyenne est maintenant 12.40 sec.

Donc, ma conclusion, il ne faut pas s’attendre à de vrais miracles :broken_heart:

Choississez vos top-190 produits pour les segments S1&S5 et puis avec les top-114 (les niveau AED) crééz des bloques en familles et puis les produits 115-190 essayez a suivre les familles si possible et autrement c’est remplir les trous.
De cette manière le gain de temps du circulation reste, les 4 minutes de gain en « picking » diminuera un petit peu (la moitié?), mais le chaos disparait parce que les familles sont presque ensemble.
Si vous avez moins de produits par commande, cet exercice donnera moins de gain de temps en total.
FichierdetravaillePlan.xlsm (604,1 Ko)

1 « J'aime »

Dans un premier temps, vraiment merci pour toute l’énergie que vous avez mise à m’aider.

Ah non, votre expérience ne sert clairement pas à rien, mille merci du partage mais je pense que la mienne n’est encore pas assez développée pour pouvoir suivre avec fluidité.

Je pense qu’il faut que je m’aligne avec les termes que vous employez et les traduire avec les miens pour que je puisse avoir une compréhension plus aisée.

Les colonnes A:E sont les positions de « picking » pour les 5 segments (vos chiffres) et puis chaque position a 5 étages (A:E), les coordonnées XY sont les colonnes C:D. (la colonne X’ n’était là que pour trier). Donc on a 20+18+9+9+5= 61 positions * 5 étages = max = 305 produits possibles.
Le tableau à côté : j’ai créé 305 produits.
Les cellules orange : je leur ai donné une valeur aléatoire de « popularité » et puis je les ai triées avec ce score. Vous voyez leur rang dans la colonne J.

Nous sommes d’accord que nous travaillons avec l’exemple pour la Zone5 ?

Dans cette zone5, 8 chemins de picking sont mis en place pour effectuer le tour complet de la zone on se suit avec ces critères ?

Si j’ai bien compris dans la feuille « Simulation » de A3 :E63 nous avons le nombre d’étagères disponibles dans ce segment avec leurs coordonnées.

Sur l’indice de popularité je vous suis, une fois avec des données réelles je comprends le sens.

Vous avez dit que le picking était 12s, +1 ou +1.5 pour B et C, bon, maintenant le temps de picking est entre 12 et 13.5, voir plage Q6:R10 de « Test_picking » et donc la séquence idéale est AEDBC. Déjà, je vous préviens, la différence entre le plus court et le plus long « picking » n’est que 1.5 sec ou max 11%, la moyenne est 12.56 sec si on met tout aléatoirement, les gains ne sont pas vraiment grands. Si on met tout en étage A = 12 sec = 12/12.56 = 95,5% = 4.5% gain, si on met tout en C = 13.5 → 13.5/12.56 = 1.07 = 7% plus long.

Je n’arrive pas à cerner la séquence idéale est à « AEDBC », je ne connais que pour le moment la classification ABC XYZ, mais je vais étudier cela.

Si je comprends le résultat en colonne « N » la position du produit S1-1A, le produit_001 sera placé dans cette étagère. C’est bien ça ?

Ahhh si j’arrive à suivre, en effet, d’abord un classement a donc le produit_001 sur l’étagère S1-1, ainsi que le produit_107 classé en E, le produit_272 ainsi de suite ?

AEBC est la position du produit dans l’étagère, alors ?

Maintenant quelle méthode est mieux et quelle est la différence ?
Je crée 100 commandes avec entre 1 et 30 produits avec la macro « SIM_Creer_100_Ordres ». 30 produits, c’est réaliste ? On verra plus tard que pour ces 100 ordres le nombre de produits est par exemple 1.600, donc en moyenne 16 produits par commande, C’est ça ? Si c’est moins, le temps de « picking » réduit mais le temps de circulation reste le même.

Oui cela semble réaliste, en fonction des jours sur les grosses périodes nous tournons plus sur un panier de 50 à 80 produits.

J’espère que je ne m’emballe pas mais si je comprends bien, dans la feuille « Test_Picking », on a le pourcentage par segment du nombre de produits ? Ainsi que le temps et le nombre de produits pickés ?

J’espère que ma compréhension est bonne, juste comment sait-on qu’on n’a pas dépassé la capacité de l’étagère avec le nombre de produits proposés et comment pouvons-nous différencier si c’est celle de gauche ou de droite dans le segment ?

Pour plus de clarté, il faut donc que je crée une nouvelle feuille avec des commandes réelles ainsi qu’une feuille produit avec son nom, l’idée et ses mesures où sont volume et poids.

Et ensuite grâce à la feuille simulation, il suffira juste de récupérer le nom de l’étagère et les produits qui y sont attribués, c’est bien ça ?

J’ai rajouter une feuille « Product » avec L’ID , le volume , le poids , la description , la famille, capacité actuel dans le rayon et l’indice.

J’ai crée une feuille « Order » avec une macro qui crée aléatoirement 100 commandes pour une moyen de 50 produits.

j’essaye depuis que vous avez repondu adapté mais :frowning:

avec cela nous nous rapprochons merci , sur la final nous pouvons envisage de choisir la zone de simulation ?

Merci pour tout

Johnny

FichierdetravaillePlan (7).xlsm (1,2 Mo)

on se comprend pas et on est trop poli pour le dire.
Vous avez donc 10.000 produits en catégories boissons, epicerie, frais, bébé, office, …
Chaqu’un avec son propre magasin = zone, je suppose.

Maintenant on est dans zone 5 (par exemple « Boissons »), mais les 8 chemins, c’est quoi, moi ??? J’ai créé 5 segments S1 à S5, donc je me suis trompé ? Je supposais que cela était le plan d’étage de Zone 5 avec 61 possible positions et chaque position possède 5 étages (de A à E, apparament ils sont 6, ABCXYZ, cela ne change pas grand chose) donc le max nombre de produits est 305. Ces 8 chemins, ils sont où?

Puis vous avez créé 100 ordres avec chaqu’un 50 produits, donc on doit parcourir tous les zones. Pour le moment, je suppose que la position exacte de chaque produit dans une zone=magasin est encore inconnue, donc rien ne peut encore être fait.

Donc je dois attendre un peu pour que vous pouvez tout mettre en place ???
Il n’y a pas de stockage intermédaire ou des convoyeurs à rouleaux entre chaque magasin et l’expedition pour synchroniser tout ?

Oui vous avez raison nous devrions nous mettre moin de filtre.

oui exactement repartie sur 8 zone.

image

Sur ce que j’ai compris vous aviez établie le nombre d’étagere dans le segment qui donner la position des produits.

Ah d’accord je comprend mieux vous avez détermine combien de produit peuve etre placer dans cette zone ?

oui effectivement pardonnez moi c’etait vraiment pas claire , nous avons 12500 produit répartir dans le 8 zones , mais j’ai balancer ca sans déterminé quel produit ce trouve dans l’emplacement .désole c’etait pas trés malin de ma part.

Dans mon idée etait de pouvoir placer le produit de la feuille « Product » a choissent les familles a y placer " Vins" , « Alccol » ect pour ensuite faire votre approche avec le zone 5.

oui effectivement un convoyeur fait toute les zones pour envoyé a l’exp.

on était vraiment proche, :face_exhaling: vos 8 chemins et mes 5 segments, voir "Simulation, colonnes G:L. Mon segment en colonne B et votre chemin le plus proche en colonne H, il y avait un écart en Y de max 325 points, je pense que c’est le coin « topleft » qui n’est pas exactement dans le chemin central et donc je ne les avais pas attribué.
Pour quelque autres, le X n’était pas correct.
Vous avez une liste plus exacte de ces points ?
FichierdetravaillePlan (7).xlsm (1,3 Mo)

Quand vous parlez des points, cela veut dire identifier les racks ?

Les points manquants sont-ils représentés par les « ? » ?

Sur le huitième segment, il n’y a pas de picking ; c’est le segment qui permet de repartir au segment 1.

Dans la feuille « Order », en ayant placé un tableau croisé, quel objectif aviez-vous en tête en mettant cette mise en place ?

Merci encore pour votre accompagnement dans ce très gros projet, Cow :-).

Je vois que vous écrivez en néerlandais, j’ai passé mes deuxièmes vacances chez vous alors , je peux voir dire que j’adore votre pays , juste la baguette le matin ma manquer lol :slight_smile:

lol !!!
C’est difficile souvent, j’utilise l’anglais, le néerlandais et le français presque en même temps et s’essaie à utiliser des termes français dans VBA, mais de temps en temps, je mélange tout … .

J’a modifié votre fichier de hier suivant les « méthodes d’Alain Provist ».
Vos 10.000 produit dans la feuille « produits » sont tous maintenant dans plusieurs (16) zones « Boss 4 Top » et ont eu une position aléatoire, mais comme çà, je peux faire des simulations.
Plus tard, on n’a qu’à remplacer avec des vrais coordinates et positions.
Voir colonnes K:S.

Puis on a vos 100 ordres dans « Order ». (pour le moment je n’utilise que les 10 premiers)

Puis on commence la simulation dans la feuille « picking » (certaines feuilles sont supprimer car il ne sont plus nécessaires). On parcourt tout votre liste ordre par ordre et on les ajoute dans ce tableau à gauche, mais dès qu’on commence dans une zone, on doit aussi ajouter un point de départ et un point d’arrivée et quand on commence dans un segment, on doit aussi ajouter un point de début et de fin. J’ai essayé à visualiser cela avec de MFCs, une ligne rouge entre chaque zone et puis 4 couleurs pour chaque point spécial. Ce n’est pas complèt parce que je ne connais pas le plan d’étage de chaque zone, donc le transfert d’un segment au suivant dans le même zone, c’est une ligne droite … . (à améliorer plus tard)
Bon, en colle tout cela dans ce tableau et on fait un tri sur zone+segment+X-position (peut être plus tard le tri sera différent par segment ???)
On fait une synthèse des ces chiffres dans la plage N2:S21 et ces chiffres, on les ajoute dans le tableau à côté « TBL_Résumé ». Pour le moment, on fait cela pour 10 ordres et quand on a fini, il y a un TCD à côté, qui se met à jour. La distance, je la divise par 10 pour arriver à autant de secondes. De nouveau, c’est la méthode d’Alain Provist, c’est combien la vitesse de circulation en points par seconde chez vous ? :nerd_face:
Et on voit tout dans ce TCD
FichierdetravaillePlan (7).xlsm (1,4 Mo)

.

bonjour, j’ai trouvé une solution pour le problème de « familles ».
Voir macro « Trier_Familles » et la feuille « Famille ».
On a vos produits dans la feuille « Product » avec en colonne H le catégorie (je traduis cela comme une zone, donc un autre magasin et en colonne I la famille, des produits qu’on veut mettre ensemble, si possible. (Ces familles, je les ai divisisé aléatoire).
Bon, dans notre magasin/zone, on a 6 étages, pour le moment sans lettre (ABCDEF ou ABCXYZ), mais supposons qu’on a 3 etages qui sont facilement accessible, puis on a 2 étages qui sont un petit peu plus difficile et un 6ième qui est encore plus difficile.
Supposons qu’on a 60 produits, donc on a besoin de 10 positions, les 30 produits les plus populaires sont pour ces 3 etages, 20 pour les 2 autres étages et 10 pour l’étage la plus difficile. S’il y a des restrictions (poids/volume/…), pendant la boucle d’attribuer les produits en étage dans leur séquence de popularité, on peut aussi placer un produit très populaire dans les « 2-étages » ou l’étage le plus difficile.

Bon, maintenant la macro, on la lance et on commence avec les Vins, il y a un point d’arrêt dans la macro, au moment au on a mis tout les vins dans la zone en séquence de popularité. Cela ressemble à un livre de coloriage et on voit dans la plage S1:T20, les familles et leur nombre en séquence descendant. Dans les colonnes U:W, on a ce nombre divisé dans les « 3-étages », « 2-étages » et « 1-étage ».
Maintenant la macro fait un tri par étage et le clef du tri, c’est la séquence de la colonne S, donc les familles en nombre descendant. Ca, c’est le 2ième point d’arrêt de la macro.
Maintenant, on voit pour les vins, la famille « H » (les cellules oranges dans les colonnes A:P) en S1:W1, on a 89/34/28 produits dans le 3-étages, 2-étages et 1-etage, donc cela signifie qu’on a besoin de 89/3 = 30, 34/2=17 et 28/1 = positions si on met les familles ensemble dans les différents étages.

Le 3-étage est le plus important et maintenant c’est un choix que la macro ne sait pas faire, mais que vous devez faire. Ces 30 positions pour le 3-étages, vous les attribuez à un ou plusieurs couloirs de votre magasin. Ces 30 positions, on a 8 cellules oange en colonne A, donc on y ajoute les 22 premieres cellules de colonne C = 30, puis on prend les cellules C23-C52 = (on a de la chance) = 30 et il restent encore ces 29 dans F1:F29.

Le « 2-etage » pour ce Vins-H, on a 34 produits, donc 17 positions, on prend J1:J13 + L1:L4 comme premier groupe et le reste = L5:L21 pour le 2ieme groupe.
Comme ce 2-etages a moins de positions que le 3-étages, vous pouvez le déplacer une petit peu vers « gauche » ou « droite »

Le « 1-etage », il a 28 positions, c’est facile, c’est inférieur à 30, donc …

De telle manière, vous faites cela pour toutes les familles et pour tout le magasin.

Vous comprenez cette méthode ?
FichierdetravaillePlan (7).xlsm (2,1 Mo)

Bonjour Cow,

Je vous prie de m’excuser pour ce délai dans ma réponse. La fin de semaine a été marquée par des urgences prioritaires au travail qui m’ont contraint à m’y consacrer pleinement. Je suis désolé de ne pas avoir pris contact avec vous plus tôt.

J’espère sincèrement avoir saisi correctement vos explications. Si ce n’est pas le cas, je vous serais reconnaissant de faire preuve d’un peu de patience. Je trouve votre vision extrêmement intéressante et je tiens vraiment à la comprendre et à en apprendre davantage.

Afin de m’assurer que nous sommes sur la même longueur d’onde, voici ma compréhension actuelle :

  • En premier lieu, vous avez distingué différentes zones en fonction des catégories (familles) de produits, aboutissant à un total de 20 zones, chacune abritant un certain nombre de produits, par exemple 515 pour les vins, et ainsi de suite.
  • Vous avez ensuite établi une sorte de classement basé sur un indice de popularité pour déterminer l’attribution des espaces aux 1er, 2e, et 3e étages. Est-ce bien cela ?
  • Grâce à cette classification, nous sommes en mesure de savoir combien de produits doivent être placés à chaque étage, en tenant compte de la facilité d’accès ?
  • Vous avez également défini la localisation précise de chaque étagère à l’aide de labels, nous permettant ainsi de retrouver rapidement un produit grâce à sa description et sa position GPS, et de connaître le temps nécessaire pour le « picking », ainsi que le nombre d’articles à « picker » ?

Est-ce que les catégories des familles de produits sont classées de 1 à 20 suivant le descriptif que vous avez mentionné plus tôt ?

J’espère être à la hauteur de vos attentes en termes de compréhension de votre travail.

Pour cet après-midi, si nous reprenons l’exemple de la zone 5 illustrée dans la feuille « Rack », je prévois de noter toutes les positions des étagères ainsi que le volume total disponible sur chaque étagère. Ensuite, sélectionner la catégorie désirée pour le premier segment, puis le second, le troisième, etc., pour finalement réaliser la simulation que vous avez élaborée. Cela nous permettrait-il d’obtenir des suggestions potentielles pour optimiser le placement des produits et ainsi améliorer l’efficacité du système ?

En essayant de déchiffrer le code que vous avez mis en place qui est pour moi ultra-complexe je comprends qu’il trie les données et qu’il utilise un dictionnaire poursuivre les données pendant le processus mais après je sèche un peu :-(.

Mais quel job c’est tellement passionnant

personne ne croit qu’on peut monter un algorithme avec excel pour cela.

Merci pour cette apprentissage c’est incroyable