Bonjour Bramavalos, ddetp88,
D'abord pour shape, on n'utilise pas la propriété Text mais TextFrame.Characters.Text afin de modifier le texte qu'elle contient.
Ensuite il est possible de passer par une procédure événementielle tel que ton code le montre. Mais il est mieux que la forme reçoive son texte par une liaison avec une cellule. C'est à dire, sélectionne ta forme et dans la barre de formule, par exemple tape = A3.
Et c'est cette cellule A3 qui détient le texte FOLD (ou autre ou vide) qui s'affiche sur la forme. Il suffit donc de changer la case A3 pour que l'événement se produise et modifie la couleur et la bordure. Pas besoin d'intersect non-plus, du fait de la liaison. Ni de Me, ni d'ActiveSheet puisque c'est un code propre à la feuille.
Sub Worksheet_Change(ByVal Target As Range)
If Shapes("Action1.1").TextFrame.Characters.Text = "FOLD" then
Shapes("Action1.1").Fill.ForeColor.RGB= RGB(0,0,255)
suite du code
On peut aussi utiliser une cellule de liaison (police minuscule) sous la forme.
Bons tests, bonne continuation.