XL 2019 mise à jour stock avec VBA

Hauliege

XLDnaute Nouveau
Bonjour chers Tous,
Ne maîtrisant pas VBA j'ai cherché et trouvé un code sur un forum (désolé je ne me souviens plus...) il convient peut être à ce que je souhaite c'est-à-dire après chaque vente de produits dans ma feuille "Facture", les sorties et stock réel (mis a jour) sont affichés au fur et à mesure pour les produits concernés dans ma feuille "ListePièces"
Pourriez-vous m'aider à l'adapter à mon fichier ci-joint svp ...
Merci

Voici le code trouvé :
Sub EnregistrerFacture()

'On enregistre sur l'historique

Set F = ActiveSheet
'On vérifie que le stock est suffisant pour honorer la facture
For Ln = 10 To 40
If Cells(Ln, "A").Value <> "" Then
Lgn = Sheets("Stock").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Cells(Ln, "A").Value, lookat:=xlWhole).Row
If Sheets("Stock").Cells(Lgn, "E").Value - Sheets("Stock").Cells(Lgn, "H").Value < Cells(Ln, "B").Value Then
MsgBox "Le stock est insuffisant pour la réf " & Cells(Ln, "A").Value
End
End If
'Sheets("Stock").Cells(Lgn, "H").Value = Sheets("Stock").Cells(Lgn, "H").Value + .Cells(Ln, "B").Value
'Sheets("Stock").Cells(Lgn, "I").Value = Sheets("Stock").Cells(Lgn, "E").Value - Sheets("Stock").Cells(Lgn, "H").Value
Else
Exit For
End If
Next Ln

'On met à jour le stock
For Ln = 10 To 40
If Cells(Ln, "A").Value <> "" Then
Lgn = Sheets("Stock").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Cells(Ln, "A").Value, lookat:=xlWhole).Row
Sheets("Stock").Cells(Lgn, "H").Value = Sheets("Stock").Cells(Lgn, "H").Value + Cells(Ln, "B").Value
Sheets("Stock").Cells(Lgn, "I").Value = Sheets("Stock").Cells(Lgn, "E").Value - Sheets("Stock").Cells(Lgn, "H").Value
If Sheets("Stock").Cells(Lgn, "G").Value <> "" Then
MsgBox "La réference " & Cells(Ln, "A").Value & " est désormais en rupture de stock.", 16
End If

Else
Exit For
End If
Next Ln

'On enregistre la facture sur la feuille Historique
'Set DocDep = ActiveSheet
With Sheets("Historique factures")
.Rows("2:2").Insert Shift:=xlDown
.Rows("2:2").ClearFormats
.Cells(2, "A").Value = .Cells(3, "A").Value + 1 'N° d'ordre
.Cells(2, "B").Value = F.Cells(2, "F").Value 'Nom du client
.Cells(2, "C").Value = F.Cells(1, "G").Value 'Date
.Cells(2, "D").Value = F.Cells(10, "G").Value 'Montant TTC
.Cells(2, "E").Value = Month(F.Cells(2, "G").Value) 'Mois
End With
Range("A10:B40").ClearContents

End Sub
 

Pièces jointes

  • Hauliegestock.xlsm
    56.9 KB · Affichages: 16

Hauliege

XLDnaute Nouveau
Merci François pour votre réponse.
J'avoue que je n'ai aucune notion de Userform mais c'est une excellente solution pour trouver le stock final et j’apprécie mais j'ai encore un soucis......
Voir afficher dans la colonne "L" de ma feuille "ListePièces" les quantités sorties pour chaque référence sortie sur différentes factures.
Exemple :
- pour une référence "DVF58" vendu 10 sur facture n° 1
-la même référence "DVF58" vendu 2 sur facture n°2
total vendu 12.
J'ai besoin que ce total (12) s'affiche dans la feuille "ListePièces" dans la colonne "L" pour la référence "DVF58" tout en mettant à jour le stock final avec ces quantités sorties....
J'espère avoir été plus explicite et merci encore de vos différents retours.
Hauliege
 

Statistiques des forums

Discussions
312 100
Messages
2 085 292
Membres
102 852
dernier inscrit
Badrcola26