Problème de Suppression ligne avec condition, mise à jour stock - VBA

Bonjour à tous,

Je viens à vous car je rencontre une difficulté sur mon code,

Avant tout, j'ai essayé plusieurs codes proposé sur le forum qui traitent de sujet similaires mais sans arriver à le faire fonctionner.

Je souhaiterai que lorsque j'active mon code, le stock se mette à jour et la ligne correspondante se supprime. Pour se faire, j'aimerai que, pour exécuter mon fameux code, la condition dans la feuille ("sortie stock") en range ("g) ou cells (i, 7) soit ("Terminée")

Voici la bête:
Private Sub CommandButton1_Click()
Dim i%, ret%
    ret = MsgBox(Space(2) & "Voulez vous  mettre à jour le stock réel ?" & Chr(13) & _
    Chr(13) & "Attention, Cela entraînera la suppression des" & Chr(13) & _
    "données dans le tableau de sortie des stocks.", 273, "VALIDATION")
    If ret = vbOK Then
        'Application.ScreenUpdating = False    'désactive la mise à jour de l'écran
            For i = 6 To Range("c" & Rows.Count).End(xlUp).Row
               If IsNumeric(Sheets("etat des stocks").Cells(i, 4)) And IsNumeric(Cells(i, 6)) And Cells(i, 3) <> "" Then
                  Sheets("etat des stocks").Cells(i, 4) = Sheets("etat des stocks").Cells(i, 4) - Sheets("etat des stocks").Cells(i, 3)
               End If
            Next

 'nettoyer le tableau
        If Sheets("sortie stock").Range("b6") <> "" And Sheets("sortie stock").Range("c6") <> "" Then
            Sheets("sortie stock").Range("tableau5").Select
            Selection.Rows.Delete
        End If
         MsgBox "Stock mis à jour"
    End If
End Sub

En vous remerciant,

Rémy

j'ajoute le fichier ca peut aider !

Bonjour,

Si j'ai bien compris ta demande ...

Un essai ...

Private Sub CommandButton1_Click()
Dim i%, ret%
Dim Wes As Worksheet, Wss As Worksheet

    Set Wes = Worksheets("Etat des stocks")
    Set Wss = Worksheets("Sortie stock")

    ret = MsgBox(Space(2) & "Voulez vous  mettre à jour le stock réel ?" & Chr(13) & _
                 Chr(13) & "Attention!! Cela entraînera la suppression des" & Chr(13) & _
                 "données dans le tableau de sortie des stocks.", 273, "VALIDATION")

    If ret = vbOK Then
        'Application.ScreenUpdating = False    'désactive la mise à jour de l'écran
        For i = 6 To Wss.Range("c" & Wss.Rows.Count).End(xlUp).Row
            If Wss.Cells(i, "G") = "Terminée" Then
                If IsNumeric(Wes.Cells(i, "D")) And IsNumeric(Wss.Cells(i, "F")) And Wss.Cells(i, "C") <> "" Then
                    Wes.Cells(i, "D") = CInt(Wes.Cells(i, "D")) - CInt(Wss.Cells(i, "F"))
                End If
            End If
        Next

        'nettoyer le tableau
        For i = Wss.Range("c" & Wss.Rows.Count).End(xlUp).Row To 6 Step -1
            If Wss.Range("G" & i) = "Terminée" Then Wss.Range("Tableau5").Rows(i - 5).Delete
        Next i
        MsgBox "Stock mis à jour"
    End If
End Sub

ric

C'est parfaitement ça, ca marche ! merci pour l'aide, je vais faire des tests plus précis :)

Rechercher des sujets similaires à "probleme suppression ligne condition mise jour stock vba"