Code VBA (Vbyesno/nettoyage tableau/mise à jour de stock)

Bonjour à tous,

Pour notre société nous avons créé un fichier de gestion de stock, nous avons réajusté afin de faire correspondre aux valeurs de nos données, sur ce tableau, nous l'avons remis en état forum.

Pour exposer notre problème,
1 ) Dans un premier temps, il faut créer une commande dans la feuille "gestion des commandes" (nous l'avons crée en exemple)
2 ) Quand la commande est validée, les données des pièces et quantité selon les formules apparaissent dans la feuille "sortie stock"
3 ) C'est la que nous souhaitons mettre en place un code (que vous pouvez voir depuis la feuille "sortie stock" et sur le bouton "Valider la sortie de stock" ou commandbutton1)
4) Les valeurs de quantité sont renvoyées dans le stock en attente de sortie dans la feuille "Etat des stocks" - colonne "C"

A partir de la, nous avons voulu créé, dans le code du bouton feuille "sortie stock", une fonction qui:

1) Déduise le stock en attente de sortie et le stock réel afin de le mettre à jour dans la feuille "Etat des stocks" en vérifiant que chaque quantité de la feuille sortie des stocks correspond à la valeur en "Etat des stocks"
2) Une fois que le stock est déduit, les lignes et données dans la feuille "sortie de stock" s'efface pour éviter de surcharger la feuille.

Nous avons mis un MsgBox pour confirmer la sortie du stock définitive, mais quand nous cliquons sur "non", le exit sub du code ne fonctionne pas et le stock se met quand même à jour.

Nous avons du faire une erreur dans le code ou placement des lignes, mais nous n'arrivons pas à savoir ou.

Nous vous remercions par avance pour votre aide, vous trouverez le fichier en pièces

Cordialement,

Rémy

Bonjour,

remplacer comme suit :

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

A+

Super cela fonctionne !

Merci pour ton aide,

Bonne journée!

Rechercher des sujets similaires à "code vba vbyesno nettoyage tableau mise jour stock"