ricolarico
Messages postés3Date d'inscriptionmercredi 7 janvier 2004StatutMembreDernière intervention19 janvier 2007
-
10 janv. 2007 à 13:01
_Fabien
Messages postés119Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention28 avril 2008
-
10 janv. 2007 à 18:19
Bonjour à tous, j'ai un assez gros problème, et on m'a dit qu'ici j'pourrais trouver des gens qui m'aideraient donc voilà
Alors en fait j'dois réaliser une sorte d'application excel de gestion
des stocks, alors que j'ai jamais eu de cours sur excel :')
Donc quand je sélectionne un produit à l'aide de la liste déroulante à
partir de la feuille "Clients" et que je met la quantité achetée par le
client, et enfin que je clique sur le bouton ok....J'souhaiterais que
la quantité achetée par le client du produit sélectionnée ( genre
Maillot 1) soit retirée de la quantité en stock actuel sur la feuille " Etat des stocks"...
Voilà si vous avez besoin de print pour mieux comprendre (parce que là j'comprendrais que ce soit un peu dur...) regardez en dessous :) , donc j'espere que vous allez pouvoir m'aider , Merci beaucoup!
Sinon, il doit y avoir moyen de généralister ta macro OK à tous les stocks : tous tes boutons OK serait relier à une seule macro, style
sub RetirerStock()
(...)
ligne1 = ???? (à compléter) ' i indique la ligne : 5 correspond à E
ligne2 = ???? (à compléter)
worksheets("nom_feuille_stock").cells(ligne1;5).value = worksheets("nom_feuille_stock").cells(ligne1;5).value - worksheets("nom_feuille_achats").cells(ligne2;5).value
(...)
end Sub
Il faudrait rajouter des if :
Si j'ai selectionné le maillot alors...
_Fabien
Messages postés119Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention28 avril 2008 10 janv. 2007 à 18:19
Ok. J'ai creusé ton problème :
- 1/Mets ton bouton "OK" dans la feuille de stocks
- 2/Fais Alt+F11
- 3/Copie ce code dans la feuille "Feuil1 (stock)" :
Const ld_stock 9 'ld_ ligne de début des stocksConst lf_stock 18 'lf_ ligne de fin des stocksConst c_stock 5 'c_ colonne des produits
Const f_achats = "clients" 'nom de la feuille des clients ou des achats
Private Sub majStock_Click()
Dim i As Integer
Dim j As Integer
Dim nb_achats As Integer
With Worksheets(f_achats)
For i = ld_stock To lf_stock
nb_achats = 0
For j = ld_achats To lf_achats
If .Cells(j, c_achats).Value = ActiveSheet.Cells(i, c_stock).Value Then
nb_achats = nb_achats + .Cells(j, c_achats + 1).Value
End If
Next j
ActiveSheet.Cells(i, c_stock + 1).Value = ActiveSheet.Cells(i, c_stock + 1).Value - nb_achats
Next i
End With
End Sub
- 4/Relie le bouton OK à ce code.
Si ça marche, quand tu appuieras sur OK, tout ton stock sera mis à jour automatiquement.
Attention ! Le libellé de tes produits doivent être le même : libellé matériel acheté = libellé nom de produit.