Sub Dupliquer()
Dim tablo() As Variant
With ActiveSheet
fin = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne
tablo = .Range("A2:K" & fin).Value 'on met tout dans un tableau VBA
For i = LBound(tablo, 1) + 1 To UBound(tablo, 1) 'on inverse C et D
tablo(i, 10) = IIf(tablo(i, 10) = "C", "D", "C")
Next i
.Range("A" & fin + 1).Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo 'on copie le nouveau tablo à la suite de l'existant
End With
End Sub