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 -
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
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:
- Changer la couleur de la police d’une forme par vba
- Changer dns - Guide
- Changer police facebook - Guide
- Changer la couleur de la barre des taches - Guide
- Mise en forme conditionnelle excel couleur - Guide
- Excel compter cellule couleur sans vba - Guide
5 réponses
Bonjour,
J'ai effectué un petit test qui fonctionne pour moi:
Ou avec le code couleur rgb:
Cdlt.
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.
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….
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….
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)
(Vous pouvez par exemple l'uploader sur https://www.cjoint.com/ et nous partager le lien)
Voilà, j’espère que ca fonctionner
https://www.cjoint.com/c/LFulJKhZUBh
https://www.cjoint.com/c/LFulJKhZUBh
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
Voir votre fichier modifié : https://www.cjoint.com/c/LFumnZkSkBX
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.
En tout ca merci beaucoup pour l’aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
A titre d'info :
1) s'il s'agit d'un objet avec habillage :
2) s'il s'agit d'un objet sans habillage :
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
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