Sub Test()
Dim o As Object
For Each o In ActiveSheet.DrawingObjects
CouleurPoliceZoneTexte o, 5 'police bleue
Next
End Sub
Sub CouleurPoliceZoneTexte(o As Object, couleur&)
If TypeName(o) = "TextBox" Then o.Font.ColorIndex = couleur
End Sub
Function CouleurPoliceZoneTexte(nom$, couleur&)
Dim f As Worksheet
Application.Volatile
Set f = Sheets(Application.Caller.Parent.Name)
f.DrawingObjects(nom).Font.ColorIndex = couleur
CouleurPoliceZoneTexte = "OK"
End Function
Function CouleurPoliceZoneTexte()
Dim o As Object
Application.Volatile
For Each o In Application.Caller.Parent.DrawingObjects
o.Font.Color = o.TopLeftCell.Offset(, -1)
Next
CouleurPoliceZoneTexte = "OK"
End Function