Bonjour à tous et bonne annee!
Je vous ecris car je dois creer un fichier Excel de gestion de stock et d'espace d'un entrepot. Le sujet a deja ete aborde des centaines de fois sur tous les forums excel que j'ai pu trouver, cependant, a ma connaissance, aucun n'apporte de solution a un aspect que je voudrais developper : une interface graphique interactive.
Je vais vous decrire ce que j'entends par la et savoir si c'est realisable, puis avoir un peu d'aide sur une partie de code que je ne maitrise pas (Precision : je ne suis pas un killer en VBA mais j'en maitrise les bases je dirais...)
Pose du probleme:
On veut entreposer des boites longilignes sur des etageres. Le programme doit pouvoir servir a renseigner l'emplacement d'une nouvelle boite (ou le nouvel emplacement d'une boite qui a ete deplacee) et a rechercher ou se trouve une boite en particulier.
*Espace de stockage:
L'entrepot en question est consitue de 11 portants (2 portants forment un "RACK") disposes sur 3 niveaux ("LEVEL") et chaque niveau ayant 4 espaces ("POSITION") occupables possibles. Cependant vu que l'on peut empiler deux boites l'une sur l'autre, j'ai mis dans mon programme 6 niveaux, 2 niveaux "virtuels" par niveau reel.
Chaque rack fait 10 feet de long (=espace entre deux portants). Ainsi lorsque l'on pose une boite sur le Level 1, 3 et 5 elle doit faire au moins 11 feet pour tenir. Pas de limitation de taille pour le Level 2, 4 et 6 lorsqu'il y a une boite dans le niveau d'en dessous sur laquelle se reposer. Les petites boites sont donc logiquement rangees au dessus des plus longues. Derniere subtilite, puisqu'on pose des boites sur des portants avec le vide au milieu, les box depassent des racks en longueur a droite et a gauche forcement, donc pour le rack le plus a gauche et le rack le plus a droite j'ai augmente l'espace de stockage possible pour representer cela. Une autre consequence de ceci est le fait que la position d'une boite sera definie par la position de son milieu.
*Materiel a entreposer:
Des boites ayant chacune un numero unique qui leur est attribue et que l'on renseigne lorsqu'on la cree. Une boite occupe une position sur un level d'un rack.
*Ce que j'ai fait jusqu'a present:
J'ai cree un bouton qui ouvre un userform et demande a l'utiisateur de remplir les caracteristiques de l'equipement: Equipment (ex: Profile, Pipe..), Box Number (ex: L-456-789), Owner (ex: Cirtec..), Dimension ft (ex: 10). Cela cree une shape de la taille renseignee dans l'userform et comportant le numero d'identification, a l'emplacement "To store".
*Ce que j'aimerais pouvoir faire dans l'ideal:
->J'aimerais que l'utilisateur puisse ensuite avec sa souris bouger la forme et la mettre a l'emplacement desire. Bien sur idealement il ne pourrait pas la poser sil ya deja une shape a l'emplacement desire (message d'erreur eventuellement), il ne pourrait pas la mettre aux etages 1,3 et 5 si elle fait moins de 10ft, ni aux etages 2, 4 et 6 s'il n' a pas de box a la meme position a l'etage inferieur. Puis il cliquerait sur le bouton "Save". Pour etre sur qu'elle est positionne de maniere correcte dans un emplacement et non un chevauchement, le programme la positionnerait dans la cellule top.right correspondante et demanderait a l'utilisateur si l'emplacement correspondant (rack, level, position) lui convient. S'il dit oui, le programme enregistre l'emplacement et l'affiche a cote des informations deja presente pour la boite dans la worksheet, s'il dit non elle revient a l'emplacement "to Store" en attendant d'etre replacee. Ceci est le cas de figure ou une nouvelle boite est ajoute. Un process similaire devrait etre fait lorsqu'une boite deja en place change de position, on updaterait ses informations d'emplacement.
->Enfin, cerise sur le gateau, je voudrais faire une deuxieme worksheet qui enregistrerait les modifications apportees par tel ou tel utilisateur du document.
Mon probleme numero 1 c'est que je ne sais pas gerer la manipulation des formes par la souris.
-Comment savoir ou est situe une forme et comment enregistrer son emplacement.
-Comment effectuer mes tests pour savoir si la forme a le droit de se positionner la ou pas
Mon probleme numero 2 c'est l'enregistrement de l'historique des modifications en fonction de l'utilisateur (absolument aucune idee de comment on fait ca)
Je vous joins mon fichier tel qu'il est actuellement.
En vous remerciant pour toute aide eventuelle..
Je vous ecris car je dois creer un fichier Excel de gestion de stock et d'espace d'un entrepot. Le sujet a deja ete aborde des centaines de fois sur tous les forums excel que j'ai pu trouver, cependant, a ma connaissance, aucun n'apporte de solution a un aspect que je voudrais developper : une interface graphique interactive.
Je vais vous decrire ce que j'entends par la et savoir si c'est realisable, puis avoir un peu d'aide sur une partie de code que je ne maitrise pas (Precision : je ne suis pas un killer en VBA mais j'en maitrise les bases je dirais...)
Pose du probleme:
On veut entreposer des boites longilignes sur des etageres. Le programme doit pouvoir servir a renseigner l'emplacement d'une nouvelle boite (ou le nouvel emplacement d'une boite qui a ete deplacee) et a rechercher ou se trouve une boite en particulier.
*Espace de stockage:
L'entrepot en question est consitue de 11 portants (2 portants forment un "RACK") disposes sur 3 niveaux ("LEVEL") et chaque niveau ayant 4 espaces ("POSITION") occupables possibles. Cependant vu que l'on peut empiler deux boites l'une sur l'autre, j'ai mis dans mon programme 6 niveaux, 2 niveaux "virtuels" par niveau reel.
Chaque rack fait 10 feet de long (=espace entre deux portants). Ainsi lorsque l'on pose une boite sur le Level 1, 3 et 5 elle doit faire au moins 11 feet pour tenir. Pas de limitation de taille pour le Level 2, 4 et 6 lorsqu'il y a une boite dans le niveau d'en dessous sur laquelle se reposer. Les petites boites sont donc logiquement rangees au dessus des plus longues. Derniere subtilite, puisqu'on pose des boites sur des portants avec le vide au milieu, les box depassent des racks en longueur a droite et a gauche forcement, donc pour le rack le plus a gauche et le rack le plus a droite j'ai augmente l'espace de stockage possible pour representer cela. Une autre consequence de ceci est le fait que la position d'une boite sera definie par la position de son milieu.
*Materiel a entreposer:
Des boites ayant chacune un numero unique qui leur est attribue et que l'on renseigne lorsqu'on la cree. Une boite occupe une position sur un level d'un rack.
*Ce que j'ai fait jusqu'a present:
J'ai cree un bouton qui ouvre un userform et demande a l'utiisateur de remplir les caracteristiques de l'equipement: Equipment (ex: Profile, Pipe..), Box Number (ex: L-456-789), Owner (ex: Cirtec..), Dimension ft (ex: 10). Cela cree une shape de la taille renseignee dans l'userform et comportant le numero d'identification, a l'emplacement "To store".
*Ce que j'aimerais pouvoir faire dans l'ideal:
->J'aimerais que l'utilisateur puisse ensuite avec sa souris bouger la forme et la mettre a l'emplacement desire. Bien sur idealement il ne pourrait pas la poser sil ya deja une shape a l'emplacement desire (message d'erreur eventuellement), il ne pourrait pas la mettre aux etages 1,3 et 5 si elle fait moins de 10ft, ni aux etages 2, 4 et 6 s'il n' a pas de box a la meme position a l'etage inferieur. Puis il cliquerait sur le bouton "Save". Pour etre sur qu'elle est positionne de maniere correcte dans un emplacement et non un chevauchement, le programme la positionnerait dans la cellule top.right correspondante et demanderait a l'utilisateur si l'emplacement correspondant (rack, level, position) lui convient. S'il dit oui, le programme enregistre l'emplacement et l'affiche a cote des informations deja presente pour la boite dans la worksheet, s'il dit non elle revient a l'emplacement "to Store" en attendant d'etre replacee. Ceci est le cas de figure ou une nouvelle boite est ajoute. Un process similaire devrait etre fait lorsqu'une boite deja en place change de position, on updaterait ses informations d'emplacement.
->Enfin, cerise sur le gateau, je voudrais faire une deuxieme worksheet qui enregistrerait les modifications apportees par tel ou tel utilisateur du document.
Mon probleme numero 1 c'est que je ne sais pas gerer la manipulation des formes par la souris.
-Comment savoir ou est situe une forme et comment enregistrer son emplacement.
-Comment effectuer mes tests pour savoir si la forme a le droit de se positionner la ou pas
Mon probleme numero 2 c'est l'enregistrement de l'historique des modifications en fonction de l'utilisateur (absolument aucune idee de comment on fait ca)
Je vous joins mon fichier tel qu'il est actuellement.
En vous remerciant pour toute aide eventuelle..
Pièces jointes
Dernière modification par un modérateur: