Sub remplir()
Dim shp As Shape
Dim i As Long
With Feuil1
'Parcourir les cellules de la colonne J
For i = 2 To .Range("j" & Rows.Count).End(xlUp).Row
'Si la cellule de la ligne i, colonne A est rouge et est différente de ""
If .Cells(i, 1).Interior.ColorIndex = 3 And .Cells(i, 1) <> "" Then
'On tente de récupérer le shapes dont le nom correspond
On Error Resume Next
Set shp = .Shapes(.Cells(i, 1))
On Error GoTo 0
'si ce shape existe alors mettre dans sa formule la référence à la colonne j
If Not shp Is Nothing Then shp.OLEFormat.Object.Formula = .Cells(i, 10).Address
Set shp = Nothing 'important, remettre à nothing la variable
End If
Next
End With
End Sub