Gestion de stock

Bonjour,

Je suis en train de faire un programme de gestion de stock et il y a une formule sur la quelle je bloque.

J'explique, j'ai une feuille Produit et une autre e s.

Dans la feuille Produit en colonne D j'ai mon mouvement de stock.

Je saisie dans la feuille e s en colonne B entrée ou sortie, en C la réference produit et en D la quantité.

Je voudrais que dans la Colonne D de la feuille Produit la quantité soit additionner quand j'ai entrée et quelle soit soustraite quand j'ai une sortie en fonction de la réference choisir.

J'éspere étre clair,

Merci d'avance a vous.

https://www.excel-pratique.com/~files/doc2/zgy9Sessai.xls

Bonsoir,

Sub MouvementStock()
''par Claude Dubois pour "kaliptoce" Excel-Pratique le 03 Sept 09
Dim Cel As Range, Adr As Integer
    For Each Cel In Range("c2:c" & [c50].End(xlUp).Row)
     On Error GoTo Fin
        Adr = WorksheetFunction.Match(Cel, Range("Produit!a2:a20"), 0) + 1
        With Sheets("Produit")
            If Cel.Offset(0, -1) = "entrée" Then
                .Cells(Adr, 4) = .Cells(Adr, 4) + Cel.Offset(0, 1)
             Else
                .Range("d" & Adr) = .Range("d" & Adr) - Cel.Offset(0, 1)
            End If
        End With
    Next Cel
Exit Sub
Fin: MsgBox ("article inconnu !")
Cel.Select
End Sub

Fichier

https://www.excel-pratique.com/~files/doc2/essai_Stock.xls

Amicalement

Claude.

édit: salut Amadéus, pas relu le fil avant de poster

édit2: la macro ne traite pas le stock initial, c'est grave ? on peut ajouter

re,

Ajoute cette ligne pour effacer la feuille "e s" après saisie

Next Cel

        Range("a2:d20").ClearContents

Exit Sub

Claude.

Merci a vous deux.

Par contre Amadeus, quand je veux glisser ta formule ca ne marche pas.

En D2 ca marche nickel par contre quand je glisse la fonction ca ne marche pas sur les cellule inferieur.

Bonjour

Juste un oubli de références absolues dans la plage D2:D12

Modifie la formule comme ceci :

=B2+SOMMEPROD(('e s'!$C$2:$C$12=Produit!A2)*('e s'!$B$2:$B$12="entrée")*('e s'!$D$2:$D$12))-SOMMEPROD(('e s'!$C$2:$C$12=Produit!A2)*('e s'!$B$2:$B$12="sortie")*('e s'!$D$2:$D$12))

Amicalement

Nad

Edit Amadéus: Bonjour et Merci Nad, j'ai tendance à oublier que tout le monde n'est pas encore féru sur les références relatives et absolues

Merci a toi.

Rechercher des sujets similaires à "gestion stock"