Sub CopieDepuisSélection()
Dim Cel As Range, F As Worksheet, Te(), Ts() As String, Le As Long, Ls As Long
Set Cel = Selection(1, 1) ' le (1,1) c'est surtout au cas où ce serait une plage fusionnée sur plusieurs colonnes.
Set F = Cel.Worksheet
With F.Range(Cel, F.Cells(F.Rows.Count, Cel.Column).End(xlUp))
If .Rows.Count = 1 Then ReDim Te(1 To 1, 1 To 1): Te(1, 1) = .Value Else Te = .Value
End With
For Le = 1 To UBound(Te)
If Not IsEmpty(Te(Le, 1)) Then ReDim Preserve Ts(0 To Ls): Ts(Ls) = Te(Le, 1): Ls = Ls + 1
Next Le
PressePapier = Join(Ts, vbCrLf)
End Sub