Sub copie()
Dim P As Range, h&
With [Tableau1]
    With .ListObject.Range: .AutoFilter: .AutoFilter: End With 'si le tableau est filtré
    If Application.CountA(.Columns(1)) Then If .Cells(.Rows.Count, 1) = "" Then _
        Set P = .Rows(1).Resize(.Cells(.Rows.Count, 1).End(xlUp).Row - .Row + 1) Else Set P = .Cells
End With
With [Tableau334]
    With .ListObject.Range
        .AutoFilter: .AutoFilter 'si le tableau est filtré
        h = .Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row - .Row + 1
        If h = 1 Then .Rows(2) = "" Else If h < .Rows.Count Then .Rows(h + 1).Resize(.Rows.Count - h).Delete 'RAZ en dessous
        If Not P Is Nothing Then P.Copy .Cells(h + 1, 1)
        .Parent.Activate 'facultatif
    End With
End With
End Sub