Supprimer le remplissage de formes [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
26 août 2010
-
Messages postés
2
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
26 août 2010
-
Bonjour,

Dans un document word 2007, je souhaite pouvoir sélectionner toutes les formes (dans mon document c'est de simples rectangles sans aucun remplissage) et changer le remplissage. Avec le code suivant :

Sub test()
Set myRange = ActiveDocument.Range
myRange.ShapeRange.Fill.Solid
myRange.ShapeRange.Fill.ForeColor = 100
End Sub

j'arrive sans problème à les sélectionner et à mettre le remplissage souhaité. Mon problème est de pouvoir ensuite faire une macro qui fait l'inverse. Elle partirait d'un document avec des rectangles pleins et colorés pour donner des rectangles sans remplissage, comme on peut le faire manuellement si on va dans l'onglet "remplissage de forme" de "outils de dessin" et que l'on sélectionne "aucun remplissage". J'ai bien cherché mais je dois avouer que je n'ai rien trouvé. Auriez vous une idée ?
Merci d'avance.

3 réponses

Messages postés
2
Date d'inscription
mardi 24 août 2010
Statut
Membre
Dernière intervention
26 août 2010

Bonsoir,
Après de nombreux tests j'ai enfin trouvé ce que je cherchais. Il faut faire la macro suivante :

Sub test()
Set myRange = ActiveDocument.Range
myRange.ShapeRange.Fill.Visible = False
End Sub

Elle supprime le remplissage de mes rectangles.

Merci pour vos suggestions.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
Bonsoir
Je ne pense pas que c'est possible de faire l'inverse mais tu peux remplir la forme avec la
couleur blanc
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
Bonjour,

Je n'ai pas beaucoup programmé sur word, mais en cherchant dans la doc msdn je trouve cela : Line

Essai donc avec Line à la place de Fill

Sub test()
Set myRange = ActiveDocument.Range
myRange.ShapeRange.Line
myRange.ShapeRange.Line.ForeColor = 100
End Sub 


Bonne Prog