Erreur, faute de doigt. Je voulais te proposer ce code de remplacement. A tester.
Sub Macro_copie()
Dim sauvegarde As Long, n As Long
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
sauvegarde = 1
For n = 2 To ws1.UsedRange.Rows.Count Step 1
If ws1.Range("R" & n) Like "PROD" Then
ws1.Range("A" & n).Copy Destination:=ws2.Range("B" & sauvegarde)
ws1.Range("B" & n).Copy Destination:=ws2.Range("C" & sauvegarde)
ws1.Range("H" & n).Copy Destination:=ws2.Range("D" & sauvegarde)
ws1.Range("P" & n).Copy Destination:=ws2.Range("E" & sauvegarde)
ws1.Range("F" & n).Copy Destination:=ws2.Range("F" & sauvegarde)
ws1.Range("M" & n).Copy Destination:=ws2.Range("G" & sauvegarde)
sauvegarde = sauvegarde + 1
End If
Next n
End Sub