Bonjour,
Je suis en train de faire une petite macro pour un ami.
Sur un tableau dans la première feuille du classeur, il a un résultat en colonne O.
Il s'agit du stock restant qui se calcul avec la quantité totale (colonne G) moins les quantités vendues en colonne J et L.
Il voulait que si la quantité restante (en colonne O) est égale à zéro, la ligne soit recopiée à la fin d'un tableau sur la deuxième feuille, puis que la ligne recopiée soit supprimée dans la première feuille.
J'ai pensé faire la macro avec l'évènement Change, lorsqu'il rentre une quantité vendue en colonne J ou L.
La macro s'exécute bien, mais j'ai une erreur d'exécution 424 (Objet requis).
Les lignes en couleur rouge sont surlignées :
Je pense que c'est la dernière ligne (Sheets(1).Rows(i).delete) qui pose problème, car lorsque je la supprime, plus d'erreur.
J'ai fait plein d'essais, mais je n'ai pas trouvé de solution.
Je joins le fichier en question.
Merci d'avance et bonne journée.
Je suis en train de faire une petite macro pour un ami.
Sur un tableau dans la première feuille du classeur, il a un résultat en colonne O.
Il s'agit du stock restant qui se calcul avec la quantité totale (colonne G) moins les quantités vendues en colonne J et L.
Il voulait que si la quantité restante (en colonne O) est égale à zéro, la ligne soit recopiée à la fin d'un tableau sur la deuxième feuille, puis que la ligne recopiée soit supprimée dans la première feuille.
J'ai pensé faire la macro avec l'évènement Change, lorsqu'il rentre une quantité vendue en colonne J ou L.
La macro s'exécute bien, mais j'ai une erreur d'exécution 424 (Objet requis).
Les lignes en couleur rouge sont surlignées :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim x As Integer
x = Sheets(2).Range("A5000").End(xlUp).Offset(1, 0).Row
For i = 3 To 5000
[COLOR="Red"] If Target.Address = "$J$" & i And Range("O" & i).Value = 0 Or _
Target.Address = "$L$" & i And Range("O" & i).Value = 0 Then[/COLOR]
Range("A" & i & ":M" & i).Copy
Sheets(2).Activate
Sheets(2).Range("A" & x).Select
ActiveSheet.Paste
Sheets(1).Rows(i).Delete
End If
Next i
End Sub
J'ai fait plein d'essais, mais je n'ai pas trouvé de solution.
Je joins le fichier en question.
Merci d'avance et bonne journée.