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

Fermé
xeltom Messages postés 7 Date d'inscription mardi 7 juin 2022 Statut Membre Dernière intervention 21 juin 2022 - 20 juin 2022 à 10:44
m@rina Messages postés 20370 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 juin 2024 - 21 juin 2022 à 15:25
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 4995 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 11 juin 2024 1 102
Modifié le 20 juin 2022 à 11:08
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 mardi 7 juin 2022 Statut Membre Dernière intervention 21 juin 2022
Modifié le 20 juin 2022 à 11:14
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 4995 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 11 juin 2024 1 102
Modifié le 20 juin 2022 à 11:40
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 mardi 7 juin 2022 Statut Membre Dernière intervention 21 juin 2022
20 juin 2022 à 13:37
Voilà, j’espère que ca fonctionner
https://www.cjoint.com/c/LFulJKhZUBh
0
T3chN0g3n Messages postés 4995 Date d'inscription samedi 16 février 2019 Statut Membre Dernière intervention 11 juin 2024 1 102
20 juin 2022 à 14:14
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 mardi 7 juin 2022 Statut Membre Dernière intervention 21 juin 2022
21 juin 2022 à 10:26
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 20370 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 juin 2024 11 291
21 juin 2022 à 15:25
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