Changer la couleur de la police d’une forme par vba

xeltom Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,
Je cherche à modifier la couleur de la police d’une forme présente dans un doc Word par VBA. J’ai tenté des choses avec textframe2 mais j’ai une erreur.
Activedocument.shapes(2).textframe2.textrange.characters.font.fill.forecolor.Rgb=rgb(255,255,255)

Quelqu’un à une idée?




Configuration: Macintosh / Safari 15.5
A voir également:

5 réponses

T3chN0g3n Messages postés 5247 Date d'inscription   Statut Membre Dernière intervention   1 179
 
Bonjour,

J'ai effectué un petit test qui fonctionne pour moi:
    ActiveDocument.Shapes.Range(Array("Text Box 1")).Select 'Sélection de la forme et question
    Selection.Font.Color = vbRed 'Changement de la couleur du texte

Ou avec le code couleur rgb:
Selection.Font.Color = RGB(255,0,0)


Cdlt.
0
xeltom Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse. Malheureusement cela ne fonctionne pas chez moi, le code est bien déroulé sans message d’erreur mais la couleur ne change pas…. Du coup je ne comprends ce qui est fait.
Il faut préciser que ce n’est une textbox mais une forme et lorsque je déroule en mode pas à pas, la forme est bien sélectionnée mais la font ne change pas de couleur….
0
T3chN0g3n Messages postés 5247 Date d'inscription   Statut Membre Dernière intervention   1 179
 
Pourriez vous nous fournir un fichier exemple ? ça sera plus simple ...
(Vous pouvez par exemple l'uploader sur https://www.cjoint.com/ et nous partager le lien)
0
xeltom Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Voilà, j’espère que ca fonctionner
https://www.cjoint.com/c/LFulJKhZUBh
0
T3chN0g3n Messages postés 5247 Date d'inscription   Statut Membre Dernière intervention   1 179
 
Il y'a un truc qui lui plais pas de la manière dont vous ajoutez ces formes je pense ... J'en ai créer une moi même et ça fonctionne bien (je fait uniquement Insertion→Forme et Clique-droit→Ajouter du texte) Ont peut personnaliser et récupérer le nom avec le menu Sélection (ALT+F10) pour ne pas avoir de doublons.
Voir votre fichier modifié : https://www.cjoint.com/c/LFumnZkSkBX
0
xeltom Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Yes j’ai trouvé, en fait Word ne gère pas le forme en positionnement libre de la même manière que les formes en ligne: Word distingue les ‘Shape’ des ‘InlineShape’…. Bon mon truc fonctionne maintenant mais c’est un peu lourd. En même temps je ne suis pas super doué en vba… mais ca fonctionne, du coup c’est bon.
En tout ca merci beaucoup pour l’aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour

A titre d'info :

1) s'il s'agit d'un objet avec habillage :
ActiveDocument.Shapes.Range("zone1").TextFrame.TextRange.Font.Color = vbGreen

2) s'il s'agit d'un objet sans habillage :
ActiveDocument.Shapes(1).TextFrame.TextRange.Font.TextColor = vbBlue

A noter que dans le premier, j'ai mis le nom de la zone, et dans le second son numéro car la zone n'a pas de nom. Dans le premier le numéro fonctionne aussi, mais pour être sûr, il vaut mieux utiliser le nom.

m@rina

0