Sub Copier()
Dim P As Range, t, i&
Set P = Intersect([A:A], ActiveSheet.UsedRange)
If P Is Nothing Then Exit Sub
t = P.Resize(, 2) 'au moins 2 éléments
For i = 2 To UBound(t)
If Trim(t(i, 1)) = "" Then t(i, 1) = t(i - 1, 1)
Next
P = t
End Sub
C'est aussi très rapide car on utilise un tableau VBA.