Modifier un texte dans un Shape [Résolu]

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
- - Dernière réponse : jordane45
Messages postés
27049
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 décembre 2019
- 10 nov. 2010 à 18:46
Bonjour à tous,

Qulqu'un sait-il comment on peut modifier un texte dans un Shape enVBA ?

Les codes suivants ne fonctionnent pas :
ActiveSheet.Shapes(1).Select
ActiveSheet.Shapes(1).Text = "Texte"
  'Ou encore
ActiveSheet.Shapes(1).TextFrame.Characters.Text = "Texte"


Je crois qu'il existe une possibilité en passant par un ChartObject :
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.Shapes(1).TextFrame.Characters.Text = "Texte"

Mais je ne sais pas comment faire exactement ...

Merci de votre aide

Cordialement
Rataxes64
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
27049
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 décembre 2019
318
1
Merci
Bonjour,
en passant par l'enregistreur de macro j'ai obtenu ceci:

    ActiveSheet.Shapes("Oval 3").Select
    Selection.Characters.Text = "ceci est le nouveau texte"
    With Selection.Characters(Start:=1, Length:=26).Font
        .Name = "Calibri"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With
    Range("H18").Select
    ActiveSheet.Shapes("Oval 3").Select
    ActiveSheet.Shapes("Oval 3").Select
    Selection.Characters.Text = "texte modifié"
    With Selection.Characters(Start:=1, Length:=13).Font
        .Name = "Calibri"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
    End With



en espérant que cela pourra t'aider.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jordane45