Problème : Le stock ne s'actualise pas lorque je sors de la marchandise. Excel VBA

carlitostyle

XLDnaute Junior
Bonjour, j'ai un petit probléme avec l'état de mon stock. le truc c'est que j'ai ma ligne dans la feuille ficheresponsableachat avec toutes les informations relative a la comande. que j'ai créer via un userform formulaire. avec ( prix, quantité, reference... ). Et je veux traiter cette ligne GRACE a un autre userform1. Qui lui va faire une sorte de bon de comande sur un autre ligne d'une nouvelle feuille s'appelant commandetraite. Ainsi le but de l'userform1 c'est de voir en temps réel si j'ai le stock necessaire au moment de la commande. la ligne se crée sur la feuille commandetraitee mais pas d'actualisation du stock. C'est peut-êter un petit signe qui faut changer. En tout cas si vous trouvez je vous en serai grandement reconnaissant ce travail est vraiment hyper important.

Je vous join un screenshot pour que vous puissiez apprecier le concept et que ce sois plus clair pour vous

Merci beaucoup :)






Private Sub CommandButton1_Click()


Unload UserForm1

userformparametrage.Show

End Sub

Option Explicit
Dim VarSelectedArticle As Integer

Private Sub ComboBox1_Change()

End Sub

Private Sub finalisercomande_Click()

End Sub

Private Sub llstock_Click()

End Sub

Private Sub UserForm_Initialize()
Sheets("commandetraitee").Activate
Dim VarDerLigne As Integer
Dim VarPlageList As String
VarDerLigne = Sheets("etatdustock").Range("A65536").End(xlUp).Row
VarPlageList = Sheets("etatdustock").Range("B2:B" & VarDerLigne).Address
llselectionarticle.RowSource = "etatdustock!" & VarPlageList

End Sub

Private Sub llselectionarticle_Click()

VarSelectedArticle = UserForm1.llselectionarticle.ListIndex + 2
llstock = Sheets("etatdustock").Range("D" & VarSelectedArticle).Value

If llstock = 0 Then
llreference = "Article non Dispo"
llprix.Visible = False
llquantite.Visible = False
llprixtotal.Visible = False

Else
llprix.Visible = True
llquantite.Visible = True
llprixtotal.Visible = True
llreference = Sheets("etatdustock").Range("A" & VarSelectedArticle).Value
llprix = Format(Sheets("etatdustock").Range("C" & VarSelectedArticle).Value, "#,##0.00")
llprixtotal = ""
llquantite = ""
llquantite.SetFocus
End If
End Sub

Private Sub llquantite_change()
Dim Chiffre As Integer
If llquantite = "" Then Exit Sub
On Error GoTo Sortie
Chiffre = llquantite
llprixtotal = Format(llprix * llquantite, 0#)
ajouterarticleboutton.Visible = True
Exit Sub
Sortie:
MsgBox "Saisir Uniquement un Entier Numérique"

End Sub

Private Sub ajouterarticleboutton_Click()

Dim VarDerL As Integer
Dim Quantite As Integer
Dim Stock As Integer
VarDerL = Sheets("commandetraitee").Range("B42").End(xlUp).Row + 1

If llquantite = "" Then
MsgBox "Vous Devez Saisir Une Quantité", vbCritical, "Erreur => Invalide"
llquantite.Visible = True
llquantite.SetFocus
Exit Sub
End If

If llquantite <= 0 Then
MsgBox "Vous Devez Saisir Une Valeur Positive ", vbCritical, "Invalide"
llquantite.Visible = True
llquantite = ""
llquantite.SetFocus
Exit Sub
End If
On Error GoTo Sortie
Quantite = llquantite
Stock = llstock

If Quantite > Stock Then
MsgBox "La quantité demandée " & llquantite & " est supérieur au stock " _
& llstock, vbCritical, "Aie=> Stock Insuffisant"
llquantite.Visible = True
llquantite = llstock
llquantite.SetFocus
Exit Sub
End If

If VarDerL = 1000 Then
MsgBox "Vous êtes arrivé à la dernière ligne de cette facture", vbCritical, "Thierry's Démo => Fin de Facture"

Exit Sub
End If

With Sheets("commandetraitee")
.Range("A" & VarDerL) = ComboBox1
.Range("B" & VarDerL) = llreference
.Range("C" & VarDerL) = llselectionarticle
.Range("E" & VarDerL) = llquantite
.Range("D" & VarDerL) = Format(llprix, 0#)
.Range("F" & VarDerL) = Format(llprixtotal, 0#)

End With
Sheets("etatdustock").Range("D" & VarSelectedArticle).Value = _
Sheets("etatdustock").Range("D" & VarSelectedArticle).Value - llstock

Exit Sub
Sortie:
MsgBox "Article mis dans le panier !", vbOKOnly, "Parfait"

End Sub

Private Sub retourparametrageee_Click()
UserForm1.Hide
userformparametrage.Show
End Sub

Private Sub UserForm_Click()

End Sub
 

carlitostyle

XLDnaute Junior
Re : Problème : Le stock ne s'actualise pas lorque je sors de la marchandise. Excel V

Bonsoir,

Comme le dis fredl, sans fichier ça va être difficile :rolleyes:

A+

Bonjour ! c'est vrai que sans fichier c'est difficile, c'est pourquoi je vous join mon fichier qui j'éspère pourra vous aider a résoudre mon probléme.

Merci encore de m'aider, je viens de commencer le VBA et ca fais plaisir de voir des personnes qui sont prêtes a prendre de leur temps pour aider quelqu'un qui bloque a un moment.


EDIT : Le mot de passe est "2012" car on le dmande si on click sur parametre
 

Pièces jointes

  • processsssus achat.xls
    131 KB · Affichages: 52
Dernière édition:

fredl

XLDnaute Impliqué
Re : Problème : Le stock ne s'actualise pas lorque je sors de la marchandise. Excel V

ok... vu :
plusieurs erreurs relevées pour que ton stock s'actualise
1/ta variable "VarSelectedArticle" se déchargeait car déclarer en "dim"
je l'ai donc déclarée en "public" dans un module "variables" : elle ne se décharge plus lorsque tu sorts de la macro dans laquelle tu la charges et est donc réutilisable ensuite.
2/ plusieurs erreurs dans le calcul du stock après commande :
- Il manquait une majuscule au nom de l'onglet(etatdustock) dans le code
- il fallait retrancher "llquantité" et non "llstock"
cela donne :
Sheets("Etatdustock").Range("D" & VarSelectedArticle).Value = _
Sheets("Etatdustock").Range("D" & VarSelectedArticle).Value - llquantite

modifs dans fichier joint

rq d'ordre générale: attention il est déconseillé d'actualiser le stock tant que le panier n'est pas validé.... car s'il est annulé ton stock devient faux....

Tien moi au courant!
A+
Frederic
 

Pièces jointes

  • ProcessusAchat.xls
    132 KB · Affichages: 73

Discussions similaires

Réponses
6
Affichages
248

Statistiques des forums

Discussions
312 240
Messages
2 086 517
Membres
103 239
dernier inscrit
wari