Private Sub Worksheet_Change(ByVal Target As Range)
Dim F As Worksheet, n&, P As Range, c As Range
Set F = Sheets("Resolved_Complaints") 'à adapter
With [A1].CurrentRegion.Resize(, 10)
n = Application.CountIf(.Columns(10), "Complete")
If n = 0 Then Exit Sub
Set P = .Offset(1).Resize(.Rows.Count - 1)
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
.Rows.Hidden = False 'affiche toutes les lignes, au cas où...
.AutoFilter 10, "Complete" 'filtre automatique sur la colonne J
If F.FilterMode Then F.ShowAllData 'si la feuille est filtrée
Set c = F.Cells(F.Rows.Count, 1).End(xlUp)(2)
P.Copy c 'copie-colle la zone filtrée
c(1, 10).Resize(n) = "it's done"
c(1, 11).Resize(n) = Environ("UserName")
c(1, 12).Resize(n) = Date
P.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'supprime les lignes sources copiées
.AutoFilter 'ôte le filtre
Application.EnableEvents = True 'réactive les évènements
End With
End Sub