En VBA c'est particulièrement simple si le résultat est collé en A1 :
Code:
Private Sub Worksheet_Activate()
Feuil1.[C:D,J:N,P:P].Copy [A1]
End Sub
Un peu plus compliqué s'il est collé en C6 :
Code:
Private Sub Worksheet_Activate()
With Feuil1 'CodeName de la feuille
With Intersect(.UsedRange.EntireRow, .[C:D,J:N,P:P])
.Copy [C6]
Range("C" & .Rows.Count + 6 & ":J" & Rows.Count).Delete xlUp
End With
End With
End Sub