Déplacer une ligne d'une feuille à une autre

Bonjour,

J'utilise ce code pour deplacer une ligne d'une feuille (Sheet1) à une autre (Sheet2)
Le code fonctionne mais il deplace la derniere ligne (la derniere dont il y'a un contenu) dans Sheet1 à la derniere ligne dans Sheet2 (qui est 49 par example)
Disant j'ai 5 lignes dans Sheet1 dont y'a un contenu, il va déplacer la 5eme ligne de Sheet1 à la derniere ligne de Sheet2
Moi je veux qu'il déplace les lignes dont la valeur de leurs cellules D est égale à 0 à Sheet2 par ordre normal commençant de A2 et en descendant
Merci d'avance

Sub Deplacer()
    Dim rng As Range
    Dim x As Long
    Dim y As Long
    x = Worksheets("Sheet1").UsedRange.Rows.Count
    y = Worksheets("Sheet2").UsedRange.Rows.Count
    If y = 1 Then
       If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then y = 0
    End If
    Set rng = Worksheets("Sheet1").Range("A" & x)
    On Error Resume Next
    Application.ScreenUpdating = False
    For x = 1 To rng.Count
        If rng("D1").Offset(b, 0).Value = 0 Then
            rng(x).EntireRow.Cut Destination:=Worksheets("Sheet2").Range("A" & y + 1)
            y = y + 1
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Hello,

Peux tu partager le fichier stp ?

De plus je ne comprends pas à quoi sert ton "b" dans le code (dans ton Offset)

Merci d'avance

Rechercher des sujets similaires à "deplacer ligne feuille"