Il faut alors traiter séparément la cellule et l'image...
On cherche l'image, on la duplique une fois trouvée, on positionne le double en Z6.
Sub Test()
Dim shp As Shape, img As Shape
With ActiveSheet
For Each shp In .Shapes
If shp.TopLeftCell.Address = "$C$8" Then
Set img = shp.Duplicate
img.Left = .Range("Z6").Left + shp.Left - .Range("C8").Left
img.Top = .Range("Z6").Top + shp.Top - .Range("C8").Top
Exit For
End If
Next shp
.Range("Z6") = .Range("C8")
End With
End Sub
Et on en profite pour ne plus copier mais affecter directement la valeur de C8 à Z6 !
Cordialement.