gestion de stocks

franknoOb

XLDnaute Nouveau
Bonsoir,

J'aurais besoin de votre expertise en macro pour finaliser, ou pour optimiser mon projet de gestion de stock. Je travaille actuellement dans une société dont le progiciel n'intègre les produits que sous forme de masse (ex : j'ai 1500 biscuits A en stock), mais ne sait pas les adresser (je peux trouver ces biscuits à l'endroit X1/A ou autre). Or, travaillant en agroalimentaire, la gestion FIFO est primordiale. Donc, j'ai commencé par monter une base article sur une page, une page fiche article, sur laquelle apparait le code article, la désignation (automatisée en recherchev sur la base article), le batch (lot), date d'arrivée, ainsi que la quantité originelle et les quantités déduites au fur et à mesure des prélèvements (30 cases de prélèvements possibles).
C'est la que ça se corse ; j'ai cinq zones distinctes de stockage, et j'ai du créer un page pour chacune. chaque zone contient environ 20 emplacements distincts, sur lesquels je peux stocker environ 15 références différentes. La feuille de zone se présente comme suit : Référence, désignation, lot, quantité restante, et adresse sous forme de code (type 806D2). j'ai uniquement autorisé la colonne "lot" en écriture, le reste étant appelé par recherchev sur la fiche article (comme ça pas d'erreur de recopie).
Donc, voila le coeur du problème ; j'aimerais créer une page de recherche avec un bouton d'appel des données qui puisse interroger toutes les pages et ramener les infos rattachées au lot qui nous intéresse.

Merci par avance pour toutes vos réponses.

Frank
 

bérylion

XLDnaute Occasionnel
Re : gestion de stocks

Salut

euh... dit comme ça, ça parait faisable.

sans voir un exemple du "truc" avec une illustration de ce que tu souhaites, j'ai pas envie de reconstruire qqch qui sera différent et dont le code nécessitera plusieurs adaptations...:p

en gros, balance un modèle pour qu'on puisse travailler dessus ;)
 

franknoOb

XLDnaute Nouveau
Re : gestion de stocks

bonsoir bérylion,

Je te transmets une copie de mon fichier sachant que j'ai changé la base article au vu des restrictions que ma société m'impose sur sa communication.
Le principe n'en reste pas moins le même. Je te remercie de ton aide
 

Pièces jointes

  • Gstocks approche 1.xlsx
    197.1 KB · Affichages: 221

bérylion

XLDnaute Occasionnel
Re : gestion de stocks

Salut

un essai rapide; colle ce code dans le module DE LA FEUILLE "interro stocks" :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Select Case Target.Address
    Case "$A$6"
        recherche 0, Target.Text
    Case "$B$6"
        recherche 1, Target.Text
    Case Else
End Select
Application.EnableEvents = True
End Sub

Private Sub recherche(colonne, ligne)
Range(Range(Range("C6"), Range("C6").End(xlDown)), Range(Range("C6"), Range("C6").End(xlDown)).End(xlToRight)).ClearContents
Me.Cells(6, 1).Offset(0, colonne + 1 - (2 * colonne)).ClearContents
For i% = 1 To Sheets.Count - 3
    For Each o In Worksheets(i).Range("$A$7:$A$274").Offset(0, colonne)
        If o.Text = ligne Then
            j = j + 1
            Me.Cells(j + 5, 3) = o.Offset(0, 2 - colonne).Value
            Me.Cells(j + 5, 4) = o.Offset(0, 5 - colonne).Value
            Me.Cells(j + 5, 5) = o.Offset(0, 3 - colonne).Value
            Me.Cells(6, 1).Offset(0, colonne + 1 - (2 * colonne)) = o.Offset(0, colonne + 1 - (3 * colonne))
        End If
    Next
Next
End Sub

le cas concret ci dessous :
 

Pièces jointes

  • Gstocks approche 1.xlsm
    179.6 KB · Affichages: 336

franknoOb

XLDnaute Nouveau
Re : gestion de stocks

Merci beaucoup de ton aide je teste ça cette semaine et si c'est bon, je pense qu'on va vite se passer du système 'dinosaure' qui est actuellement en place et qui nous bouffe du temps, uniquement en recherche du bon batch ; le système d'aujourd'hui est un grand panneau mural où on fait une recherche visuelle avec le souci de passer à coté d'une étiquette...:eek:.
Je reviens vers toi dès que j'ai testé tou ça sur le terrain.

Merci beaucoup Bérylion.
 
Haut Bas