XL 2019 mise à jour stock avec VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
4
Affichages
362
Retour