Sub Selection5()
Dim R As Object
Set R = ActiveSheet.Shapes(Application.Caller).TopLeftCell
' en ligne :
Range(R.Offset(0, 2).Address, R.Offset(0, 10).Address).Copy ActiveCell
If ActiveCell.Offset(0, 6) <> "" Then _
Range(R.Offset(0, 2).Address, R.Offset(0, 10).Address).ClearContents
End Sub