Gestion de stok très simplifiée

sarata

XLDnaute Junior
Bonjour le forum !

J'ai un fichier contenant plusieurs références de pièces sur une colonne et leurs quantités sur une autre colonne et j'aimerai pouvoir gérer les entrées sorties de ces références de manière très simple:
2 "gros" boutons ENTREE et SORTIE

Exemple pour l'action du bouton entrée :​
Une fenêtre apparait avec 3 zones et un bouton valider:
- Entrée de stock à la date de : ../../....[ la date du jour est marquée sans possibilité de saisie]
- Entrer la référence à entrer en stock : [l'idéal serait une zone avec une saisie semi auto des données de la première colonne]
- Quantité à entrer : jusqu'à 6 digits
Après validation , une fenêtre "ok only" apparait pour confirmer l'opération : : la réf XXXX a été incrémentée de XXX, stock disponible : XXXX

Quelqu'un peut me proposer son aide?

Merci par avance!!
 

Pièces jointes

  • Gestion PCD V1.xls
    82.5 KB · Affichages: 357
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Gestion de stok très simplifiée

Bonjour
Dans la version que j'ai gardée l'UfMvt permettait d'entrer plusieurs mouvements puis de valider le tout par un bouton "Go!" Est-ce vous qui avez simplifié tout celà ?
Au lieu de :
Choose((Sgn(Qté) + 3) \ 2, "retirer.", "approvisionner"
ne pourriez vous prendre Me.Caption tout simplement ?
Je pense que vous auriez intérêt à ajouter une TextBox pour la saisie du nom, à ajouter une colonne nommée pour l'accueillir dans l'historique et à l'y inscrire sur le même modèle que les autres informations.
À+
 

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Bonjour,
En fait, je m'intéresse depuis peu à la rédaction de code et j'ai essayé de me dépatouiller comme j'ai pu :eek: ... je trouve le fichier plus adapté à mes besoins avec la saisie du nom et du prénom de la personne pour suivre les modifications apportées au stock. Pour la commande Me.Caption, je ne connais pas et je dois comprendre comment ça fonctionne.
Merci Danreb !
Bonne journée
 

Dranreb

XLDnaute Barbatruc
Re : Gestion de stok très simplifiée

Me est un mot clé désignent l'objet auquel est attaché le code, ici UfMvt. Caption c'est une propriété du l'UF représentant le titre de sa fenêtre. Elle est généralement fixée dans la fenêtre de propriétés, mais comme ici c'est le même UF pour les entrées et les sorties elle est fixée dynamiquement dans les procédures BtEntrée_Click et BtSortie_Click de Feuil1 (GESTION STOCK)
 

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Et bien j'suis perdue... J'ai modifié le code en pensant arriver à mes fins comme ça mais j'obtiens une erreur 424...
A l'aide ;-) !!

Code:
Option Explicit

Private Sub BtOk_Click()
Dim L As Long, Qté As Long, Stock As Long, Z As String, Lgn As Long, prénom As String
L = CbxCode.ListIndex + 1
If L = 0 Then
   MsgBox "Veuillez entrer un code correct", vbCritical, "Mouvement"
ElseIf Not IsNumeric(TbxQté.Value) Then
   MsgBox "Veuillez saisir une quantité numérique", vbCritical, "Mouvement"
Else
   Qté = TbxQté.Value: If Left$(Caption, 6) = "Sortie" Then Qté = -Qté
   Stock = FLstPcD.[StockDispo].Rows(L).Value
   If Stock + Qté < 0 Then Z = "             Stock insuffisant !" & vbLf: Qté = 0 Else Z = ""
   If Qté = 0 Then
      MsgBox Z & " Veuillez saisir une quantité valide ", vbCritical, Caption
      Else
      UfMvt.Hide
      
   If MsgBox(Z & Abs(Qté) & " pièces """ & CbxCode.Value & """ à " & Choose((Sgn(Qté) + 3) \ 2, _
      "retirer.", "approvisionner"), vbOKCancel) = vbOK Then
   prénom = InputBox("Confirmer:", "Pour confirmer, entrer vos nom et prénom, puis cliquez sur OK")
   
       End If
      
      Stock = Stock + Qté
      FLstPcD.[StockDispo].Rows(L).Value = Stock
      With FArch.[Tablo]: Lgn = .Rows.Count: .Rows(Lgn).Copy: .Rows(Lgn).Insert
         Lgn = .Rows(Lgn + 1).Row: End With
      FArch.[Heure].Rows(Lgn).Value = Now
      FArch.[Code.].Rows(Lgn).Value = CbxCode.Value
      FArch.[Qté].Rows(Lgn).Value = Qté
      FArch.[Stock].Rows(Lgn).Value = Stock
      FLstPcD.[DatDrnMvt].Rows(L).Value = Now
      FLstPcD.[QtéDrnMvt].Rows(L).Value = Qté
[COLOR="red"]FArch.[Nom].Rows(Lgn).Value = prénom[/COLOR]
      CreateObject("Wscript.shell").Popup "Merci"&"prénom saisi !", 2, "Confirmation", 64
      End If
      End If
   
End Sub


Private Sub UserForm_Click()

End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Gestion de stok très simplifiée

Ça devrait marcher si la plage nommée "Nom" est correctement définie. Quelle référence porte-t-elle ?
P.S. Définissez des colonnes entières pour les noms de la feuille historique. C'est leur intersection avec la plage "Tablo" qui en définit la partie utilisée. Supprimez les lignes inutilisées. La plage Tablo est automatiquement agrandie si vous n'avez pas tout cassé.
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Ca y est, j'y suis arrivée grâce à vous Danreb ! La plage était mal référencée :eek:. Merci !
J'abuse mais pouvez-vous m'expliquer comment procéder pour que lorsque l'on clique sur "Entrée", on ait dans la liste déroulant le code de l'article mais aussi sa description (colonne A et B de la feuille "STOCKS") ??
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Gestion de stok très simplifiée

Le mieux serait un 2ième ComboBox pour pouvoir même saisir l'un ou l'autre, le changement de chacun des 2 entrainant la correction du ListIndex de l'autre à la même valeur.
Ça aussi c'était déjà dans la version que j'ai gardée.
 

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Je suis d'accord avec vous, mais dans mon cas, le code de l'article peut être attribué à plusieurs descriptions (ce n'est pas exactement ça mais j'utilise l'exemple cité dans ce sujet). J'aimerais donc que dans la liste on ait les deux en même temps. Dites moi si ce n'est pas clair...
Merci de prendre le temps de m'aider !
A+
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Gestion de stok très simplifiée

Je vois que la feuille Stock est aussi considérablement dégradée par rapport à ce que j'avais fait:
Les plages couvraient en permanence uniquement ce qui était effectivement utilisé et un dispositif simple permettait de les agrandir en sélectionnant "nouvelle pièce" en bas. Elle doit être bien grande la liste de votre ComboBox !

Fenêtre de propriétés, changer pour: CbxCode (ComboBox)
Code:
ColumnCount:     2
ColumnWidths:    40
RowSource:       CodesPièces:DescriptionPièces
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Désolée... j'ai bien vu cette amélioration et je compte bien l'utiliser ! Mais je progresse petit à petit, le but étant surtout de comprendre ce que je fait !
En tout cas, merci beaucoup, vous avez résolu (encore une fois) mon problème !
A+
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

Excusez moi Danreb, j'ai bien tous mes items dans la liste déroulante, mais par contre quand je clique sur un produit, seul le code apparait et je ne vois pas la description... J'ai regardé dans toutes les propriétés de la comboBox mais je n'ai pas trouvé d'où ça venait. Une idée ?
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Gestion de stok très simplifiée

J'ai longuement cherché et d'après ce que j'ai compris, avec une ComboxBox, il n'y a qu'une ligne à l'affichage... IL faut passer par une ListBox. Je me suis donc rabattue sur la solution consistant à faire plusieurs ComboBox ! Pensez-vous qu'il soit possible de demander que les 2 combobox soient remplies pour poursuivre et si ce n'est pas le cas de renvoyer un message d'erreur ?
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
894

Statistiques des forums

Discussions
311 723
Messages
2 081 934
Membres
101 844
dernier inscrit
pktla