Modification sur un magasin virtuel

J'ai un magasin en VBA plutot bien avancé mais il reste une chose à faire et j'aurais besoin de votre aide.

Le bouton de macro entrée/sortie sert à envoyer des articles sur deux chantiers différents, EDT ou AETV. Par contre je bug sur un détail.

J'aimerais que quand j'envoie sur un chantier (choix numéro 2 ou 3 dans la textbox qui s'affiche) une fois la quantité saisie qu'il me propose une dernière textbox avec écrit "Emplacement ?" A ce moment je choisis un emplacement et je me retrouve du coup avec deux voir trois lignes pour une même référence mais avec des emplacement précis. (du stock à l'agence, sur EDT et/ou sur AETV).

Pour le magasin principal ( à l'agence) j'ai déjà ce paramètre emplacement mais pas sur les deux chantiers EDT et AETV qui ont eux deux un magasin sur place avec des emplacements précis sur des étagères.

Sauriez vous comment procéder le plus simplement possible ? Peut quand un stock part de l'agence alors crée une ligne dans le tableau de la feuille "stock".

Et aussi est-ce possible quand je sélectionne une ligne avec une référence dans la textbox principale du userform qu'il m'affiche la somme de cette référence dans le champs "stock agence" ? Car en réalité, il se peut qu'une même référence soit rangée a plusieurs endroit dans le magasin quand une étagère et pleine, j'en met ailleurs ou il y a de la place. Idem pour le champ "stock EDT" et "stock AETV".

Merci pour votre aide et votre passion :)

32magasin.zip (262.62 Ko)

Salut,

Je viens de le rendre compte que j'ai omis de dire bonjour à tous 🙂

Salut la compagnie 😊

Quelqu'un a repéré comment faire ?

Je suis perdu là.

Merci beaucoup.

David

Bonjour

J'aimerais que quand j'envoie sur un chantier (choix numéro 2 ou 3 dans la textbox qui s'affiche)

Pas sûr d'avoir compris ce que vous voulez. Quelle textbox ?


NB : dans vos codes vous utilisez des Function. Pourquoi ? il n'y a pas d'arguments. Donc c'est inutile
1. Remplacez le code Function Items_Combobox() par ceci

Private Sub Items_Combobox()
With ComboBox1
    .AddItem Sheets("Stocks").Range("E1").Value
    .AddItem Sheets("Stocks").Range("F1").Value
    .AddItem Sheets("Stocks").Range("G1").Value
End With
End Sub

2. Remplacez Function Affiche_data par ceci

Private Sub Affiche_Data()
Dim Lastrow As Long

Lastrow = Sheets("Stocks").Cells(Rows.Count, "A").End(xlUp).Row
With ListBox1
    .Clear
    .List = Sheets("Stocks").Range("A2:H" & Lastrow).Value
End With
End Sub

3. Modifiez le code Initialize comme ceci

Private Sub Userform_Initialize()
With ListBox1
    .ColumnCount = 8
    .ColumnWidths = "95;230;55;53;45;45;72;62"
    .ColumnHeads = False
End With
Call Affiche_Data
Call Items_Combobox
End Sub

4. D'autres modifications seront à faire. Vous n'avez pas besoin de la feuille extraction. Elle peut être supprimée au profit du code Combobox1_change modifié.

Bonjour Dan,

Merci pour ton attention. Je suis pas ultra Expert en VBA et ce fichier pour la majeure partie a été modifié par une personne qui touche bien a la VBA.

J'hésite à toucher ce qu'il a fait. Ça changerait quoi ?

Ma question concernant la textbox ou plutôt pop UP qui s'ouvre (entrée/sortie) c'est :

Le premier message dans la pop UP c'est : ou va l'article sélectionné EDT ou AETV ?

Ensuite la quantité doit être saisie.

Ce que je voulais c'était qu'il me demande l'emplacement pour finir et qu'il mincremente un ligne de cette référence transférée dans le tableau de la feuille stock.

Mais ça a l'air d'être une usine à gaz, laissez tomber.

Par contre je pensais à un truc, c'est peut être ne pas afficher dans la liste box principale du userform les informations EDT, AETV, urgence, production car finalement on voit ces informations dans les champs du userform qu'il y a a gauche. Et de plus j'ai des désignations de références qui sont assez longues.

Et aussi a l'agence j'ai souvent la même référence mais dans plusieurs emplacements différents donc quand on clique sur une ligne est-il possible qu'il me fasse et m'indique la somme totale de la référence sélectionné ?. Tu comprends ? Tu pense que c'est pas trop compliqué ?

Merci :)

Bonjour,

J'hésite à toucher ce qu'il a fait. Ça changerait quoi ?

Ne vous tracassez pas. Faites une copie de votre fichier et modifiez comme je vous indique. On avance pas à pas
Avec ce que je vous fait modifier vous irez plus vite pour afficher les infos et le poids du fichier va baisser.

Ma question concernant la textbox ou plutôt pop UP qui s'ouvre (entrée/sortie) c'est :

Ce dont vous parlez c'est la msgbox qui apparait lorsque vous cliquez sur le bouton ENTREE/SORTIE ?
Sinon dites moi ce que vous faites que je reproduise sur votre fichier

Par contre je pensais à un truc, c'est peut être ne pas afficher dans la liste box principale du userform les informations EDT, AETV, urgence, production car ....

Bah non c'est très bien de conserver cette vision, je trouve. Pour la question de vos références longues, il suffit d'agrandir la colonne dans la listbox

Et aussi a l'agence j'ai souvent la même référence mais dans plusieurs emplacements différents donc quand on clique sur une ligne est-il possible qu'il me fasse et m'indique la somme totale de la référence sélectionné

La somme totale se trouve où et où voulez-vous l'ajouter

Crdlt

Salut Dan,

Quand le fichier est bien chargé, c'est très fouillis avec toutes les infos a l'écran.

Pour les sommes de quantité (uniquement a l'agence, soit le magasin principal) il faudrait qu'elles s'affichent dans le champ quantité a gauche du userform.

Aujourd'hui quand je sélectionne une ligne a l'écran, la quantité de cette ligne s'affiche a gauche mais il se peut que j'ai plusieurs lignes de la même référence dans le magasin et du coup il faudrait faire comprendre a excel qui me calcul les doublons (référence et désignation) comme ça je sais exactement combien j'ai de telle ou telle référence. Attention les stocks transféré sur EDT ou AETV ne sont pas a inclure dans la somme.

Sinon, j'ai repéré un gros bug car je commence à pas mal m'en servir (je te transfère mon fichier ici) quand hé fait des transferts sur AETV par exemple, je cherche mon emplacement, ma réf, et je clique sur entrée sortie, puis 3 pour AETV et ensuite je saisis une quantité.

Et bien je ne sais pas pourquoi mais il me decremente la quantité d'une autre ligne qui n'a rien a voir.

Tu saurais me dire d'où ça vient ?

Merci beaucoup.

18magasin.zip (250.12 Ko)

Bonjour

merci de votre dernier fichier mais déjà je vois que vous n'avez pas appliqué ce que je vous ai donné...

Aujourd'hui quand je sélectionne une ligne a l'écran, la quantité de cette ligne s'affiche a gauche mais il se peut que j'ai plusieurs lignes de la même référence dans le magasin et du coup il faudrait faire comprendre a excel qui me calcul les doublons ...

Qu'est ce qui vous gêne dans le fait d'avoir plus ligne avec la même référence parce que lorsque vous allez prendre les quantités via entrée et sortie, il va falloir remettre la base de données à jour. Si vous avez 2 quantités de 3 pièces dans la base (total 6) et que vous en prenez 4 via entrée/sortie, on va faire comment pour dire qu'il doit allez sortir 3 sur une ligne et 3 sur une autre ligne. On doit réfléchir là..

Sinon, j'ai repéré un gros bug car je commence à pas mal m'en servir (je te transfère mon fichier ici) quand hé fait des transferts sur AETV par exemple, je cherche mon emplacement, ma réf, et je clique sur entrée sortie, puis 3 pour AETV et ensuite je saisis une quantité.

vous cherchez comment l'emplacement et la réf ?

Salut Dan,

Merci pour ton retour. Si j'ai fait les modifications que tu m'a proposé mais du coup les recherches par critères ne fonctionnent plus.

Cela me dérange pas qu'il y ait plusieurs lignes de la même référence, de tout façon je n'ai pas le choix car les choses sont rangées sur des petites étagères dans le magasin principale (la colonne "quantité" mentionne les quantités dans ce magasin) Mais le souci est que par exemple si je sélectionne une ligne de prises RJ45, alors dans le champs a gauche "quantité" il va m'afficher la quantité de cette ligne alors qu'il peut y en avoir plein d'autres dans le magasin ce qui fait que si je veut savoir combien j'ai d'unités de prise RJ45, je dois chercher les autres et faire des additions manuellement, c'est pas pratique.

Je suis entrain de réfléchir pour le simplifier visuellement et qu'il soit efficace ce magasin. Et il y aurait des modifications à apporter dedans.

Dans le tableau de la feuille "stock" il faudrait que j'ajoute trois colonnes après la colonne référence :

- code 1 (c'est des acronymes propre à mon boulot)

- code 2 (c'est aussi des acronymes propre à mon boulot)

- fournisseur

- Je vais séparer les deux chantiers donc avoir deux fichiers identiques, un pour EDT et un pour AETV. C'est AETV dont j'ai vraiment besoin pour le moment.

- Au vue du rajout de 3 colonnes, il faut vraiment supprimer visuellement dans le userform les colonnes AETV et EDT et mettre cette information uniquement dans le champs a gauche. Qu'il affiche la somme totale transféré sur AETV de la référence selectionnée à l'écran pour AETV par exemple.

- Supprimer la mention production dans le useform et tous comme au dessus, indiquer la somme globale envoyée en production dans le champs production à gauche quand on clique sur une référence dans le userform.

- Supprimer totalement la mention urgence et son codage car elle m'est inutile.

- Dans le tableau de la feuille stock pour les cellules a remplir dans fournisseur je mettrai un menu déroulant avec une liste, ca je sais faire.

- Du fait que je vais séparer les deux chantiers et bien mettre à jour les choix dans les fenetres pop-up pour entrée/sortie, pour le fichier AETV, supprimer le choix EDT, pareil pour le bouton EDT/AETV vers production.

- Je regarde également le menu en haut "EDT / AETV / PRODUCTION", est-ce c'est possible d'y faire une recherche par le critère code 2 ? Je vais avoir des acronymes dans cette colonne. Par exemple SSI, SDI, TELN...ca m'aiderais d'avoir cette possibilité de faire des affichages avec le critère de cette colonne.

Pour le bug, je viens de réessayer. Pour tester de ton coté, descends avec le petit ascenceur a droite et vise la référence placé à l'adresse B/2-C, cliques sur "entré/sortie" choisi l'option 3 pour transfert AETV, saisi une quantité, chez moi c'est la ligne avec l'adresse B/2-A qui va être impacté....Du coup le fichier est inutilisable

Et pour finir, l'idéal serait que la fenetre principale du userform soit scrolable avec la souris du PC.

Ca te parait réalisable ?

Merci à toi.

Bonjour

Merci pour ton retour. Si j'ai fait les modifications que tu m'a proposé mais du coup les recherches par critères ne fonctionnent p

je suppose que vous parlez de la textbox Rechercher par critère. Effectivement mais cela est normal, vous sautez une étape car je ne vous avais pas encore dit quoi changer. Je voulais avoir votre retour avant

- Ce que je dois savoir c'est si le critère dans cette textbox implique une recherche sur une colonne particulière de la listbox ou sur toutes les colonnes. Dans votre code, vous recherchez dans la colonne 12 (feuille Stock) qui n'existe pas
- Lorsque vous sélectionnez une ligne les textbox à gauche sont complétées si on a une info dans la listbox. Mais si vous sélectionnez une autre ligne avec moins d'info, les infos mentionnées lors de la sélection de la ligne précédente ne sont pas effacées
- Si vous changez la combo recherche, même souci que précédemment les valeurs dans les textbox de gauche ne sont pas effacées
Ce sont ces points que j'ai résolu dans les codes que je voulais vous faire modifier

A vous de me dire si je continue à vous donner ce qu'il vous faut


Pour la question de la somme des quantités, je pense qu'utiliser une listview plutot que listbox aurait été plus intéressant car vous pouviez trier directement la colonne quantité via le titre de colonne. Mais cela implique de changer pas mal de choses au niveau des codes
Je pense à solution alternative qui serait de créer une textbox qui balayerait la listbox et qui vous donnerait la somme de la quantité de l'article sélectionné.

Je suis entrain de réfléchir pour le simplifier visuellement et qu'il soit efficace ce magasin. Et il y aurait des modifications à apporter dedans.

Heu oui ok mais alors on ne peut pas avancer si vous n'avez pas figer la feuille et ce que la listbox doit inclure.
il faut figer les colonnes de manière à ce que je vous donne les codes corrects

Lorsque je vous lis je vois vous allez compliquer en supprimant les infos de la listbox et surtout travaillez avec deux fichiers me parait plus simple mais sautez d'un fichier à l'autre .... Il vaut mieux prévoir avant sans quoi vous risquez de devoir refaire

Pour l'ajout des 3 colonnes c'est bon mais au niveau colonne dans la listbox, attention à ne pas dépasser 10 colonnes (sinon on recommence les codes)


Pour le bug, je viens de réessayer. Pour tester de ton coté, descends avec le petit ascenceur a droite et vise la référence placé à l'adresse B/2-C, cliques sur "entré/sortie" choisi l'option 3 pour transfert AETV, saisi une quantité, chez moi c'est la ligne avec l'adresse B/2-A qui va être impacté....Du coup le fichier est inutilisable

Heu waouh ! c'est qui ce truc là... celka déclenche des codes partout que niveua listbox et texbox1 qui vient mettre un * ??
Expliquez moi dans ce cas précis ce que cela doit faire
- Sélection B/2-C
- Bouton entre/sortie
- on choisit 3.
- le Ok va chercher l'info dans une feuille. Mais pourquoi ??? on a la colonne 1 de la listbox qui renseigne la REF
Après cela doit faire quoi ?

Salut Dan,

Concentrons nous sur le fichier dédié à AETV et oublions EDT qui sera le même il y aura juste le nom du chantier qui change et celui là je m'en sert beaucoup plus rarement.

Je réponds à tes interrogations dans l'ordre.

1. Le champs critère doit chercher dans la colonne désignation

2.Si je clique sur une ligne dans le userform, il doit me renseigner dans les champs dédiés a gauche la quantité total au magasin (colonne quantité) de la référence sélectionné. La quantité total sur AETV, la quantité totale en production.

3. Je te fait confiance si tu veux mettre une listview. Fait ce qui te semble le plus cohérent/efficace. (Ce fichier pourrait servir a pas mal de monde qui plus est)

4. Effectivement j'ai pas physiquement régencé le fichier avec les 3 colonnes supplémentaires dans stock car je sais que ça allait faire dérailler le codage. Si tu veux je le met en forme.

4. Oui je préfère sauter d'un fichier a l'autre c'est plus sécurisant et de plus je travaille jamais sur les deux en même temps. Il s'agit de deux chantiers bien distincts et éloigné. Tu remarqueras d'ailleurs que pour le moment dans le magasin il n'y a que du stock dédié a AETV. (C'est mentionné dans les désignations)

5. Dans le cas précis que tu cite. Si je sélectionne la ligne avec l'adresse B/2-C dans le userform, que j'active entré/sortie c'est que je veux faire un transfert de stock sur chantier. Donc choix 3 pour AETV puis je saisis une quantité. Si je choisis 10 par exemple alors il faut que le système me fasse -10 dans le magasin sur la ligne sélectionné puis +10 sur AETV sur la même ligne. Idem si j'active le bouton de transfert production. Par exemple la sur cette même ligne je choisis AETV vers production, je sais admettons 3, alors il m'enlève 3 de AETV et m'en ajoute 3 a production.

Tu comprends le raisonnement ?

Et important a la place du menus déroulant en haut mettre un champs avec le critère de recherche basé sur la colonne code 2 qui va être ajouté.

Il y a un jolie projet la je trouve.

En tout cas merci énormément pour ton attention. 🙏

Ah et j'oubliais. Peut-on faire en sorte que ce ne soit pas un fichier binaire en extension ?

Une dernière chose. La feuille stock est masqué, je l'ouvre uniquement si j'ai une référence a ajouter dans une place d'étagère qui est vide. Sinon tous les mouvements se font par le userform directement (entrée, sorties, transfert vers production)

Peut-on faire en sorte que ce ne soit pas un fichier binaire en extensi

C'est possible si le poids du fichier est plus petit. Là il très lourd dû au nombre de lignes actuel et au nombre de feuille

La feuille stock est masqué, je l'ouvre uniquement si j'ai une référence a ajouter dans une place d'étagère qui est vide.

Cela ne devrait pas être un souci

Et important a la place du menus déroulant en haut mettre un champs avec le critère de recherche basé sur la colonne code 2 qui va être ajouté.

hum... là c'est du gros changement. Le mieux serait que j'ai un nouveau fichier pour repartir sur de bonne base et d'autant que je n'ai pas les 3 colonnes en feuille STOCK
Après je peux regarder les points 1 à 5
Si vous avez plusieurs valeurs en code 2 on peut les mettre dans la combo à la place de EDT, ....prod
Mais réfléchissez bien avant de supprimer car si vous revenez dans cette possibilité de choix, on pourrait devoir tout refaire

Salut Dan,

Comme convenu, voici le fichier avec les colonne rajouté dans la feuille "stocks". J'ai également supprimé la colonne EDT dans la feuille "stocks" et la feuille "historique".

Pour les explications, tous ce trouve dans les messages précédents.

Me

28magasin-copie.zip (237.40 Ko)

rci pour ton aide précieuse :)

Bonjour

- La listbox doit comprendre toutes les colonnes sauf la colonne J et dans cet ordre là je suppose ?
- La combo va reprendre les infos AETV et Production

- Pourquoi avez-vous une désignation nommée Vide dans la colonne E
- Dans l'usf à gauche, on supprime la textbox EDT et on ajoute des textbox Fournisseur, Code... etc... En gros doit-on retrouver dans chaque textbox les infos de chaque colonne de la listbox et le plus simple dans le même ordre ?

Edit :

- Je regarde également le menu en haut "EDT / AETV / PRODUCTION", est-ce c'est possible d'y faire une recherche par le critère code 2 ? Je vais avoir des acronymes dans cette colonne. Par exemple SSI, SDI, TELN...ca m'aiderais d'avoir cette possibilité de faire des affichages avec le critère de cette colonne.

Par défaut l'usf est chargée avec tous les items de la listbox. là on peut faire une recherche via la textbox. Par contre vous mentionnez SSI,.... mais ce bien sont les codes qui concernent le réseau systeme ou vous parlez des codes équipements ?

Ce que j'imagine :
vous affichez tous les items à l'ouverture de l'USF
La combo est chargée des trois items AETV, Production et code équipement
Le choix dans la combo vous permet d'affiner sur AETV, Production ou code équipement
Le choix dans la textbox permet d'afficher le choix sur ce qui est affiché dans la listbox

Salut,

La colonne J pour les urgences est inutile on peut la supprimer ainsi que son codage lié.

Non dans la fenêtre principale du USF il faudrait faire apparaître :

Réf

Fournisseur

Système

Code équipement

Désignation

Adresse.

Dans les champs a gauche :

Quand je clique sur une ligne il serait bien d'avoir la quantité de la ligne sélectionné. Comme évoqué avant un champs "quantité agence" qui ferait la somme des doublons de la ligne sélectionné.

La quantité globale sur AETV

La quantité globale en production

La désignation vide c'est parce l'étagère est vide mais j'ai arrêté de les mentionner. Si je rempli un rayon d'étagère que lincremente manuellement dans la feuille stock puis je trie les données du tableau par emplacement (de A a Z)

Non je parle pas des codes équipements mais des réseaux système (que tu peux trouver dans la feuille nomenclature) il serait top d'avoir ce menu déroulant afin de pouvoir cibler des recherches par ces acronymes. En gros si je choisis le premier AAL, alors il m'affiche uniquement les lignes référencées AAL.

Ton idée en bas est bonne. Avoir le pouvoir d'afficher uniquement ce qui se trouve sur AETV ou production mais également cette possibilité peut-être par menu déroulant au dessus d'afficher par réseau système.

Exemple : des prises RJ45 peuvent se trouver dans plusieurs réseaux système donc si je choisis par exemple AAL , qu'il m'affiche uniquement celles qui y sont dédiés.

Concrètement ça serait un filtre par rapport à la colonne réseau système dans stocks.

Bien à toi.

Re

Ok. cela fait mal de changement à effectuer tout cela

Quand je clique sur une ligne il serait bien d'avoir la quantité de la ligne sélectionné. Comme évoqué avant un champs "quantité agence" qui ferait la somme des doublons de la ligne sélectionné.

Pour bien comprendre....à gauche, il y a la textbox AETV et Prod. On a deux options, soit les deux textbox ne servent qu'à mentionner la somme de la quantité en stock de l'article sélectionné ou on ajoute deux textbox. Ce qui ferait 4 textbox, deux pour l'article sélectionné et deux pour la somme de l'article sélectionné

La désignation vide c'est parce l'étagère est vide ...

Ok on supprime cette ligne

Non je parle pas des codes équipements mais des réseaux système (que tu peux trouver dans la feuille nomenclature) il serait top d'avoir ce menu déroulant afin de pouvoir cibler des recherches par ces acronymes. En gros si je choisis le premier AAL, alors il m'affiche uniquement les lignes référencées AAL.

Le tout est de voir si vous voulez que le choix dans cette nouvelle combox utilise la totalité du stock ou si vous voulez que le résultat soit donné en fonction du choix dans combox1 actuelle AETV et Prod. Le plus simple est de ne pas tenir compte du choix dans la combox1 et dans ce cas, on veillerait à ce que la combo 1 soit vidée en premier


Textbox Urgence : je supprime. Cela fera de la place pour autre chose

Salut Dan,

Pour le filtrage dans le menu en haut à gauche il faudrait y mettre tous les réseaux système, si je chois AAL alors il m'affiche dans la fenetre principale toutes les lignes qui contiennent AAL dans la colonne C. Une fois les lignes affichées à l'écran, même topo comme expliqué avant. Admettons qu'il y a 3 lignes de clikos Ø25 avec 10 unitée par emplacement à l'agence, si je clique sur une des lignes alors dans le champs agence a gauche, il m'affiche 30 (somme des trois lignes identique dans la référence et désignation. Si sur ces trois lignes j'ai une ligne avec 5 sur AETV, 10 sur AETV et l'autre 5, alors quand je clique sur une ligne, le champs AETV a gauche m'indique la somme soit : 20. Idem pour production.

Tu comprends la reflexion ?

Pour être clair si demain j'envoie 500 clikos d'un emplacement précis de l'agence sur AETV, alors moi je selectionne la ligne en question, j'appuis sur entrées/sorties, je choisi "sortie", je valide, puis on me demande la quantité, je saisi donc 500 puis je valide. La macro alors prend 500 de cette ligne et en met 500 sur AETV. Le même principe pour transfert vers production.

Merci pour ton attention Dan :)

Bonjour

Pour être clair si demain j'envoie 500 clikos d'un emplacement précis de l'agence sur AETV, alors moi je selectionne la ligne en question, j'appuis sur entrées/sorties, je choisi "sortie", je valide, puis on me demande la quantité, je saisi donc 500 puis je valide. La macro alors prend 500 de cette ligne et en met 500 sur AETV. Le même principe pour transfert vers production.

Ok mais cela suppose que la ligne sélectionnée comporte bien une quantité de 500.

Rechercher des sujets similaires à "modification magasin virtuel"