Inventaire stock LEGO

seblap47

XLDnaute Nouveau
Bonjour,

Je suis en train de réfléchir à un fichier excel qui permettra de comparer 2 listes et d'en générer une 3ème.

Explication :

1/ Je rentre l'ensemble des pièces de mon stock LEGO dans la feuille 2 (Stock) du classeur.

2/ J'importe un fichier CSV dans la feuille 3 (SET Inventory) à l'aide du bouton "Import" de la feuille 1 (Menu).
Ce fichier CSV contiendra l'ensemble des pièces du SET (boîte LEGO du commerce) que je veux construire.
L'importation devra commencer à partir de la ligne 2 à cause des entêtes de colonnes.

3/ Je clique sur le bouton "à commander" de la feuille 1 (Menu)

4/ Je vois dans la feuille 4 (à commander) les pièces que je n'ai pas en stock et qui me reste à commander.

Pour l'exemple j'ai mis en surbrillance les lignes 23,31 et 49 dans la feuille "SET Inventory"
Ces lignes comportent des pièces que j'ai en stock.
Dans la feuille "à commander" j'ai aussi mis en surbrillance ces même lignes.
On peux constater que la Quantité "à commander" = Quantité "SET Inventory" MOINS "Quantité Stock"

Si j'ai 10 pièces en Stock et qu'il en faut 30 alors il y aura 20 dans la colonne 1 (Qty)
Par contre si j'ai 10 pièces en Stock et qu'il en faut 10 dans le SET, alors la ligne de la pièce concerné ne devra pas apparaître dans la feuille "à commander".
Inutile de faire apparaître la pièce en question sur le bon de commande avec une quantité <= à ZERO.

Voilà !

Si vous avez des idées

MERCI
 

Pièces jointes

  • stock_LEGO.xlsx
    30.2 KB · Affichages: 156

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Re, re !

Non il y a un petit bug :

1/ Si j'importe un CSV dans le stock, il s'intègre dans le stock et en même temps dans "set inventory"
2/ il fait 196 lignes dont l'entête dans "Stock" et 197 lignes dont l'entête dans "set inventory" pour le même fichier CVS.
bizarre, bizarre !
 

camarchepas

XLDnaute Barbatruc
Re : Inventaire stock LEGO

Re ,

La seule chose qui n'allait pas c'est la macro associée au bouton.

Voilà rectifié ,

par contre pourquoi ne pas faire les essais avec le csv que tu m'as envoyé, car le nombre de ligne que tu me donnes est incohérent avec ce fichier .


Dans le fichier j'ai juste manuellement trié le set pour faire des comparatifs, et comme dans le set il y a plusieurs références identiques qui reviennent , forcement dans stock il y a moins de lignes .

Si tu vois de vraies anomalies , merci de me joindre le set d'essai ainsi que la position des stocks , afin que je puisse controler ...
 

Pièces jointes

  • stock_LEGO_3.xlsm
    78 KB · Affichages: 53
  • stock_LEGO_3.xlsm
    78 KB · Affichages: 79
  • stock_LEGO_3.xlsm
    78 KB · Affichages: 83

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Re ,

La seule chose qui n'allait pas c'est la macro associée au bouton.

Voilà rectifié ,

par contre pourquoi ne pas faire les essais avec le csv que tu m'as envoyé, car le nombre de ligne que tu me donnes est incohérent avec ce fichier .


Dans le fichier j'ai juste manuellement trié le set pour faire des comparatifs, et comme dans le set il y a plusieurs références identiques qui reviennent , forcement dans stock il y a moins de lignes .

Si tu vois de vraies anomalies , merci de me joindre le set d'essai ainsi que la position des stocks , afin que je puisse controler ...

Bonjour,

Après vérification, il y a bien deux problèmes et je vais t'expliquer.

Premier problème
1/ je vide les feuilles "Stock", Set inventory" et "à commander" de manière à être sûr du coup...
2/ je presse le bouton "Importer Set dans Stock" de la feuille "Menu"
3/ J'importe un CSV (peut importe lequel)
Normalement seule la feuille "Stock" doit se remplir avec le contenu du fichier CSV.
Et bien en fait la feuille "Stock" ce remplie bien mais aussi la feuille "Set inventory"

--> pas normal ça.

Deuxième problème
1/ je vide toutes les feuilles
2/ je presse le bouton "Importer Set dans Stock" de la feuille "Menu"
3/ J'importe LE CSV joint à ce mail
Normalement seule la feuille "Stock" doit se remplir avec le contenu du fichier CSV.
La feuille "Stock" ce remplie bien mais aussi la feuille "Set inventory"

--> ça on le sait vu que je l'ai exposé dans le premier problème...

MAIS :

Si on regarde de plus près les feuilles "Stock" et "Set inventory" on remarque une chose :

--> il y a 165 lignes dans la feuille "Set Inventory"
--> il y a 164 lignes dans la feuille "Stock"

Pourtant mon fichier CSV fait bien 165 lignes.

Après comparaison des 165 lignes, une par une, j'ai trouvé l'explication :

Les références 3023 et 30236 de la feuille "Set inventory", sont fusionnées en une seule référence 30236 dans la feuille "Stock".

Feuille : "Set inventory"
Qty / PartNum / Color / Description
1 / 3023 / DkStone / Plate 1 x 2
1 / 30236 / DkStone / Brick 1 x 2 with Handle

Feuille "Stock"
Qty / PartNum / Color / Description
2 / 30236 / DkStone / Brick 1 x 2 with Handle

Je pense que le code VBA doit faire une comparaison sur 4 caractères au lieu de 5 ou plus dans la colonne PartNum

Voilà.

J'espère être clair dans mes explications.

Dans tout les cas, je ne fait que faire remarquer le problème.
Je comprendrai que tu n'es pas le temps de réfléchir sur la question.

Sébastien
 

Pièces jointes

  • 7641_City Corner.zip
    2.3 KB · Affichages: 49

camarchepas

XLDnaute Barbatruc
Re : Inventaire stock LEGO

OK ,

mais il me faut un onglet intermédiare donc se sera import set , si tu veux aprés on le supprime .

Ok , la recherche était partielle et non totale .

Regardes de nouveau
 

Pièces jointes

  • stock_LEGO_4.xlsm
    29.9 KB · Affichages: 81

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

OK ,

mais il me faut un onglet intermédiare donc se sera import set , si tu veux aprés on le supprime .

Ok , la recherche était partielle et non totale .

Regardes de nouveau

C'est bien ça !
Là, ça marche !
Félicitation !!!

Si je comprend bien, quand on importe un CSV dans le stock, il y a une obligation d'avoir une feuille intermédiaire pour faire la comparaison. Donc une fois que la feuille "Stock" est mise à jour il n' y a qu'à mettre en fin de code une syntaxe pour supprimer la feuille 5 "import set". Est-ce bien cela ?
Sinon, encore une fois merci ! Vous venez de me faire un super outil.

Sébastien
 

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Le petit bug de l'import est revenu :)

Si je clique sur le bouton "Importer set dans Stock" et que finalement je fais "annuler" j'ai une erreur sur cette ligne :

Code:
LigneFin = Sheets("Import set").Range("B" & Rows.Count).End(xlUp).Row

je n'ai pas cette erreur avec le bouton "Importer"
 

camarchepas

XLDnaute Barbatruc
Re : Inventaire stock LEGO

Re ,

Pas tout à fait le même problème , car depuis cette partie de code est devenu une fonction, j'ai donc ajouté un état de sortie et un traitement de cet état .

C'est ça de faire les choses en entre 2 , mais bon ....
 

Pièces jointes

  • stock_LEGO_6.xlsm
    43.1 KB · Affichages: 33

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Re ,

Pas tout à fait le même problème , car depuis cette partie de code est devenu une fonction, j'ai donc ajouté un état de sortie et un traitement de cet état .

C'est ça de faire les choses en entre 2 , mais bon ....

Alors effectivement CE problème est résolu : merci
Par contre, je viens de voir un autre bug et il est de taille :)

Je pense que les 3 lignes ci-dessous valent mieux qu'un long discours :p

Pièces en stock : 13 667
Pièces dans le SET : 383
Pièces à commander : 1 449

Je dois commander (presque 4x) plus de pièces que n'en comporte le set que je voudrais faire !
--> pas normal ça lol

Dans le fichier joint, il y a :
- le stock que j'ai commencer à rentrer
- le set que je veux faire (à des fins de test seulement)
- la feuille à commander qui en résulte.

Bonne ap'

Sébastien
 

Pièces jointes

  • stock_LEGO_61.xlsm
    80 KB · Affichages: 33

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Bien curieux , je pensais que l'on avait validé pourtant

Bon voici ,

y'avait pas grand chose en fait , mais je trouve ça Bizard , voir étrange , lol


Alors...
Bon, le calcul est bon MAIS :

Premièrement :

1/ Je clique sur le bouton "à commander" dans la feuille "Menu" ça va ajouter les 383 pièces du Set en cours dans la feuille "à commander'
--> ça c'est normal

2/ je clique de nouveau sur le bouton "à commander"
-->ça va de nouveau ajouter les 383 pièces du Set en cours dans la feuille "à commander"
--> on en est donc à 766 pièces à commander

3/ je clique de nouveau sur le bouton "à commander"
-->ça va de nouveau ajouter les 383 pièces du Set en cours dans la feuille "à commander"
--> on en est donc à 1149 pièces à commander

etc.

pas normal ça :D

Deuxièmement :

1/ Je vide les feuilles "Set inventory" et "à commander"
2/ j'importe un SET avec le bouton "Importer SET" de la feuille "Menu"
--> ma super formule en C16 de la feuille "Menu" disparaît !
 

Pièces jointes

  • stock_LEGO_63.xlsm
    79.2 KB · Affichages: 31

camarchepas

XLDnaute Barbatruc
Re : Inventaire stock LEGO

Et la normalité ça serait quoi ,

l'on efface l'onglet à commander avant de faire une nouvelle commande ?

Pour la formule c'est de l'ajout aprés coup , donc la garantie ne fonctionne pas .....

Non, je regarde dès que tu m'as répondu pour le premier point , mais il faudrait peut être ne pas supprimer l'onglet juste le vider .
 

seblap47

XLDnaute Nouveau
Re : Inventaire stock LEGO

Et la normalité ça serait quoi ,

l'on efface l'onglet à commander avant de faire une nouvelle commande ?

Pour la formule c'est de l'ajout aprés coup , donc la garantie ne fonctionne pas .....

Non, je regarde dès que tu m'as répondu pour le premier point , mais il faudrait peut être ne pas supprimer l'onglet juste le vider .

à mon avis LES procédures sont les suivantes :

1/ j'importe un SET avec le bouton "Importer SET"
2/ je clique sur le bouton "A commander"
3/ le bouton "A commander" se grise (il devient INACTIF partir de maintenant)
4/ je consulte la feuille "A commander"
5/ j'importe un autre SET avec le bouton "Importer SET"
6/ le bouton "A commander" devient de nouveau ACTIF
7/ je clique sur le bouton "A commander"
8/ le bouton "A commander" se grise (il devient INACTIF partir de maintenant)
9/ je consulte la feuille "A commander"
Etc.

1/ j'importe un SET avec le bouton "Importer SET"
2/ je clique sur le bouton "A sortir du stock"
3/ le bouton "A sortir du stock" se grise (il devient INACTIF à partir de maintenant)
4/ je consulte la feuille "A sortir du stock"
5/ j'importe un autre SET avec le bouton "Importer SET"
6/ le bouton "A sortir du stock" devient de nouveau ACTIF
7/ je clique sur le bouton "A sortir du stock"
8/ le bouton "A sortir du stock" se grise (il devient INACTIF à partir de maintenant)
9/ je consulte la feuille "Stock"
Etc.

Ou si c'est trop compliqué, il faut vider la feuille "à commander" avant d'exécuter le code sous le bouton "à commander"

Merci
 

Statistiques des forums

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