Macro,Entrée,Sortie,Stock et vendu

  • Initiateur de la discussion Initiateur de la discussion BrunoExcel2007
  • Date de début Date de début

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 !

B

BrunoExcel2007

Guest
Bonjour,

Je cherche une Macro pour mon tableau Excel Entré,Sortie,Stock et vendu.
j'ai déjà eu une première partie de la macro (voir ci dessous) ,mais il me manque la partie de la cellule (Vendu) voir l'exemple en lien.
Je suis désolé si je ne suis pas très clair mais c'est mon premier Forum ,je ne sais pas trop comment m'y prendre.
Merci à vous.


Private Sub Worksheet_Change(ByVal Target As Range)

If Not IsNumeric(Target.Value) Then Exit Sub

If Not Intersect(Target, Range("E:F")) Is Nothing Then
'Deprotege
Range("G" & Target.Row).Value = IIf(Target.Column = 5, Range("G" & Target.Row).Value + Target.Value, _
Range("G" & Target.Row).Value - Target.Value)

End If
' Range("E" & Target.Row).Value = 0
' Range("F" & Target.Row).Value = 0
'Protege
End Sub


Merci à vous.
Bonne Journée
 

Pièces jointes

Re : Macro,Entrée,Sortie,Stock et vendu

bonjour Bruno
bienvenue
en E1:I1 que faut il mettre
supposé que E6:I6 =le total des entrées,sorties,vendus

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count = 1 Then
        If Target.Row = 12 Or Target.Row = 26 Then

            If Target.Address = "$E$12" Or Target.Address = "$K$12" Or Target.Address = "$Q$12" Then
                'entrées ligne 12
                Target.Offset(, 2) = Target.Offset(, 2) + Target.Value    'stock
                Range("E6") = Range("E6") + Target.Value    'total entrée
                Range("G6") = Range("G6") + Target.Value    'total sortie
                Target.Value = ""
            End If
            'sortie
            If Target.Address = "$F$12" Or Target.Address = "$L$12" Or Target.Address = "$R$12" Then
                If Target.Offset(, 1) >= Target.Value Then
                    Target.Offset(, 1) = Target.Offset(, 1) - Target.Value    'sortie
                    Target.Offset(, 3) = Target.Offset(, 3) + Target.Value    'vendu
                    Range("F6") = Range("F6") - Target.Value
                    Range("G6") = Range("G6") - Target.Value
                    Range("I6") = Abs(Range("F6"))    'total vendu
                    Target.Value = ""
                Else
                    MsgBox "stock limité"
                End If
            End If

            If Target.Address = "$E$26" Or Target.Address = "$K$26" Or Target.Address = "$Q$26" Then
                'entrées ligne 26
                Target.Offset(, 2) = Target.Offset(, 2) + Target.Value    'total stock
                Range("E6") = Range("E6") + Target.Value    'total entrée
                Range("G6") = Range("G6") + Target.Value    'total sortie
                Target.Value = ""
            End If

            'sortie
            If Target.Address = "$F$26" Or Target.Address = "$L$26" Or Target.Address = "$R$26" Then
                If Target.Offset(, 1) >= Target.Value Then
                    Target.Offset(, 1) = Target.Offset(, 1) - Target.Value
                    Target.Offset(, 3) = Target.Offset(, 3) + Target.Value    'vendu
                    Range("F6") = Range("F6") - Target.Value
                    Range("G6") = Range("G6") - Target.Value
                    Range("I6") = Abs(Range("F6"))    'total vendu
                    Target.Value = ""
                Else
                    MsgBox "stock limité"
                End If
            End If

        End If
    End If

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
508
Réponses
4
Affichages
586
Réponses
1
Affichages
468
Réponses
4
Affichages
735
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour