Colorer forme libre

Bonjour,

J'ai dans une feuille une forme libre nommée "Russia" que je voudrais colorer. J'utilise donc le code :

Worksheets("Feuil1").Shapes("Russia").Select ('selection de la forme nommée Russia dans ma feuille)

Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13

Selection.ShapeRange.Fill.Solid

Cela fonctionne quand la feuil1 est active, je suis déjà dessus quand j'exécute la macro.

Cependant lorsque je lance le code depuis une autre feuille, vba me dit erreur 408 "propriété ou méthode non gérée par cet objet"

Je suppose qu'il s'agit d'une erreur de sélection de Feuille mais je n'y arrive pas .

Un peu d'aide svp.

Merci d'avance

Bonjour

Il faut définir une variable objet pour ton shape et travailler dessus, pas de "Select" sinon bug

  Dim Shp As Shape
  Set Shp = Worksheets("Feuil1").Shapes("Russia")
  Shp.Fill.ForeColor.SchemeColor = 13
  Shp.Fill.Solid

A+

ça marche merci mille fois,

si je pouvais je te prendrai dans mes bras tiens parce que je galère là-dessus depuis longtemps avant d'avoir enfin penser à demander de l'aide ici !!

Salut Lois

lois renard a écrit :

ça marche merci mille fois

si je pouvais je te prendrai dans mes bras

Tant mieux et merci, mais non ça ira

lois renard a écrit :

je galère là-dessus depuis longtemps avant d'avoir enfin penser à demander de l'aide ici !!

Tu vois il ne faut pas hésiter

Au plaisir d'aider

Rechercher des sujets similaires à "colorer forme libre"