Macro complexe attribution d'emplacements

etienne33

XLDnaute Nouveau
Bonjour à tous,

Je viens vers vous car j’ai besoin d’aide pour la création d’une macro.
En effet, nous avons besoin de refaire l'implantation des articles dans un dépôt suite à un déménagement.

Vu l'ampleur de la tache le faire manuellement prendrait beaucoup trop de temps sans compter le risque d'erreurs.

Je voudrais savoir si il est possible de créer une macro capable d’attribuer automatiquement des codes articles en fonction du type de casier auquel ils sont associés.

Dans le fichier en pièce jointe, il y a deux feuilles :

La feuille "Cartographie" : Elle représente les étagères vues de face dans les allées. Pour chaque niveau d’étagère, il y a 3 lignes :

- Type casier : c’est l’information qui va être utilisée par la macro pour attribuer un code article avec un type casier identique. Pour les cases vides avec un quadrillage en croix (ex : G25 à L25), il ne faut pas affecter de code article

- Code : L’idée serait que la macro renseigne le code article (colonne A dans la feuille "Picking") qu’elle attribue à l’emplacement

- Nom Emplacement : La macro doit renseigner le nom de l’emplacement qui correspond à l’étagère (information en haut de chaque étagère) + un point + la hauteur (information dans la colonne A du tableau) + un point + la position sur l’étagère (en comptant de gauche à droite)

Exemple : Pour un article en G12, l’emplacement serait : A.01.05.4

La feuille "Picking" : Elle contient la liste des articles avec la dimension du casier auquel il faut les affecter.

Il faudrait donc que la macro fasse deux choses :

1 / Qu’elle renseigne dans la feuille "Cartographie" au-dessus de chaque type de casier le code article et le nom emplacement

2 / Puis qu’elle reporte en face de chaque code article, les emplacements attribués dans la feuille "Cartographie" vers la feuille "Picking" dans la colonne T

Petite précision : les codes articles dans la feuille "Picking" sont triés dans un ordre précis. Il faudrait que la macro puisse les affecter dans cet ordre en prenant le premier emplacement disponible avec le même type de casier. Le remplissage se fait par étagère du haut vers le bas, de gauche à droite.

Je remercie déjà par avance, les personnes qui vont tenter de décrypter ma demande :)
Je reste bien entendu à votre disposition pour vos éventuelles questions.

Bonnes fêtes à tous.
 

Pièces jointes

  • Cartographie.xlsx
    678.7 KB · Affichages: 94

etienne33

XLDnaute Nouveau
Bonjour,

Merci pour la dernière version.

Mon collègue a retravaillé la cartographie car elle n'était pas correcte. Il a déplacé certaines étagères, etc...
Il s'est du coup aperçu que "Allée impair" ne voulait pas forcément dire remplissage de gauche à droite, idem pour les allées pairs.

Il a du coup ajouté une information dans la colonne A si la ligne doit être alimentée de gauche à droite (GD - ex : A5) ou de droite à gauche (DG - ex : A30).
Je ne sais pas si cette information est exploitable pour ta macro, mais on peut très bien retravailler différemment la cartographie si tu as besoin.

Pour les allées de droite à gauche la macro, la macro incrémente toujours le numéro de position de gauche à droite, il faudrait que ce soit l'inverse.

Voici un exemple :

upload_2017-1-24_11-7-49.png


Idem pour cette demande, si besoin de retravailler la cartographie pour faciliter le travail de ta macro, n'hésites pas.

Une dernière chose, est-il possible d'avoir la même macro mais qui permet aussi de faire une double sélection ?
Je m'explique :

De pouvoir sélectionner une zone dans la feuille cartographie et sélectionner une liste d'article à affecter dans cette zone.

Merci d'avance,
 

Pièces jointes

  • Cartographie_V4.xlsm
    611 KB · Affichages: 68

sousou

XLDnaute Barbatruc
Bonsoir
J'ai mis un peu de temps, mais une installation linux m'a beaucoup occupé.
J'ai commencé par remettre une information dans les étagères grisées. En effet j'ai besoin qu'il y est une infos pour voir la longuer de l'allée
Pour la première partie de ta demande, pas de problème j'ai remplacé le test allée paire par un test des derniers caractères du nom de l'allée ce qui me permet de définir le sens de circulation en fonction de ces caractères.
Pour la seconde partie ? pas bien compris ce qui ne te vas pas
Pour la troisième précise un peu plus ce que tu appels sélection d'une zone :des allée des étagères?
De plus j'ai ajouter une variable voir circulation, qui permet si tu la mets =true de voir le déplacement du programme dans les allées
 

Pièces jointes

  • Cartographie_V5.xlsm
    651.6 KB · Affichages: 69

etienne33

XLDnaute Nouveau
Bonjour,

Pas de soucis, moi aussi je ne suis pas toujours très réactif.

Pour la deuxième partie, en fait, dans le cas d'une allée alimentée de droite vers la gauche la position sur l'étagère doit être faite dans le même sens (droite vers gauche et non gauche vers droite). Dans la capture écran de mon précédent message, je t'ai mis un exemple.

Pour la troisième chose, il faudrait que je puisse faire une sélection d'étagères ou d'allées en sélectionnant avec la souris par exemple comme pour les articles à positionner et ensuite que je sélectionne dans la feuille "picking" les articles que je souhaite affecter dans la zone précédemment sélectionnée.
 

etienne33

XLDnaute Nouveau
Bonjour Sousou,

Désolé pour mon absence, je n'ai pas eu trop le temps de me pencher sur ce dossier mais j'ai toujours besoin ton expertise :) Je te remercie encore pour le travail fait, c'est vraiment top.

Voici mes retours concernant la dernière macro :

1- Merci pour l'interface graphique c'est beaucoup plus parlant pour les utilisateurs qui vont l'utiliser.
Il semblerait que la procédure générale ne fonctionne pas via l'interface, je suppose que la macro n'est pas relié au bouton.

2- Est-il possible de faire sauter le petit écran de validation pour chaque articles positionnés dans le cas de la procédure partielle ? (exemple pour 50 articles positionnés, il faut appuyer 50 fois sur "ok")

3- Est-il possible dans la procédure partielle d'avoir la possibilité de sélectionner plusieurs étagères voir même une ou plusieurs allées ?

4- Pour le sens de circulation, je viens de te faire le petit schéma en pièce jointe, j'espère qu'il saura parlant. On parle seulement du dernier numéro incrémenté dans le nom de l'emplacement.

Merci d'avance,
 

Pièces jointes

  • Exemple position.xlsx
    12.7 KB · Affichages: 62

sousou

XLDnaute Barbatruc
bonjour
Pour les 3 premiers points OK je regarde, mais je ne comprend toujours pas ton problème de circulation!
Tu me parles de la ligne 36 et 42? au milieu d'une étagère?
Sache que le sens de circulation est déterminé par le titre de l'allée (DG ou GD)
Je reviens vers toi avec une nouvelle mouture surtout si ce n'est pas toi qui 'l'utilise
 

etienne33

XLDnaute Nouveau
Bonjour,

Concernant le 4ème point, ta macro fonctionne très bien pour positionner les articles dans les deux sens.
Le seul point qui ne va pas c'est le numéro de la position sur l'étagère qui est attribué à l'emplacement.

Pour rappel, lors de ma première demande :

- Nom Emplacement : La macro doit renseigner le nom de l’emplacement qui correspond à l’étagère (information en haut de chaque étagère) + un point + la hauteur (information dans la colonne A du tableau) + un point + la position sur l’étagère (en comptant de gauche à droite)

Sauf que dans le cas d'une allée alimentée de droite vers la gauche il faut aussi attribuer la position de l'étagère de la droite vers la gauche.

Exemple en prenant en compte ton dernier fichier : Pour un article positionné en J84 le nom de l'emplacement sera B.38.06.1 et non B.38.06.7 car j'alimente sur cette allée de droite vers la gauche.
 

sousou

XLDnaute Barbatruc
Bonsoir
Bien je pense avoir enfin compris... (peut-être?):)
Dans tout les cas voici une nouvelle version, ou plutôt une nouvelle appli car j'ai tout refait pour être un plus propre
Précision je suis passer en calcul manuel pour gagner tu temps, et supprimer tes références circulaire (a voir)

Serais absent à partir de mardi pendant une dizaine de jours pas ou peu de réseau.. alors patience!
 

Pièces jointes

  • Cartographie_V7.xlsm
    680 KB · Affichages: 50

sousou

XLDnaute Barbatruc
Quelques corrections...
J'ai ajouté un test60c pour faire des tests
Lorsqu'une étagères est vide il faut mettre une info du genre "vide" sur la ligne du haut celle qui est fusionnée au risque de ne pas voir les étagères suivantes
 

Pièces jointes

  • Cartographie_V71.xlsm
    683.1 KB · Affichages: 45

etienne33

XLDnaute Nouveau
Une fois de plus super boulot :)

Ci-dessous les remontées de mon collègue qui test le fichier :


1) l'incrémentation des postions dans la dernière valeur de l'emplacement est inversée entre DG et GD

2) Toujours pour cette incrémentation, ça ne commence pas par la position .1 car la macro tient compte des cellules vides qui sont barrée

3) toujours la fenêtre "OK" à valider.

Bonne vacances !
 

etienne33

XLDnaute Nouveau
Ne pas prendre en compte de mon dernier message qui se basait sur ton fichier de dimanche et non celui de lundi.

Dernière modification à apporter :

Problème d'incrémentation dans la position (dernier caractère de l'emplacement), ça compte les cellules vides qui sont barrées.
 

sousou

XLDnaute Barbatruc
C'est toujours difficile sans être dans le coeur du sujet.
1)Pourras-tu me fournir des exemples précis?
2)Là aussi exemple précis
3)Test effectués avec le version 71?
Pas vue ton dernier message.
Essai de me donner des exemples
 

etienne33

XLDnaute Nouveau
Voici un exemple pour le problème remonté dans mon dernier message.

En fait, les cases barrées sans taille de casier ne doivent pas être comptabilisées dans le calcul de la position.

C'est noté pour le problème de recherche sur toutes les allées.
 

Pièces jointes

  • Exemple.xlsx
    11 KB · Affichages: 47

Discussions similaires