Xcel 2007 et propriété AutoSize des Shapes

Signaler
Messages postés
2
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
3 février 2010
-
Messages postés
2
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
29 mai 2012
-
Bonjour,

j'aimerais savoir pourquoi (et comment contourner) le code suivant executé sous Xcel 2003 marche bien, mais qu'il ne fait rien sous 2007.

Dim Shapes_Col As Shapes
Set Shapes_Col = ActiveWorkbook.Sheets("Feuil1").Shapes


Set Obj = Shapes_Col.AddLabel(msoTextOrientationHorizontal, 100, 100, 0, 0) ' Vous remarquerez que je fais VOLONTAIREMENT un label de taille nulle
Obj.TextFrame.AutoSize = True
Obj.TextFrame.Characters.Text = "tutu"

Sous 2003 -> Autoresize qui marche du feu de Dieu
Sous 2007 -> Que dalle.

Je me suis bien sûr empressé de faire mumuse avec textFrame2 sous 2007 et le code suivant ne marche pas mieux.

Set Obj = Shapes_Col.AddLabel(msoTextOrientationHorizontal, 100, 100, 0, 0)
Obj.TextFrame2.AutoSize = msoAutoSizeShapeToFitText
Obj.TextFrame2.TextRange.Text = "toto"

Merci de vos réponses

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,
pas essayé, mais essaye de mettre d'abord le texte, puis l'autosize


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Je ne trouve par ailleurs aucune propriété Autosize, tant pour la collection Shapes que pour un objet Shape.
Cela a probablement une raison : tous les objets Shapes n'acceptent peut-être pas cette propriété. Si ta collection comprend des shapes qui en sont exclus ===>> marche pas !


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
2
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
3 février 2010

C'est quand même couillon une regression pareille.
Je suis en train de testeouiller en jouant sur les orientations
Messages postés
2
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
29 mai 2012

comme ça cela fonctionne chez moi pour la derniere zone de texte.
attention s'il y a une image dans ta feuille, tu auras un message d'erreur.

For Each c In Sheets("ordo").Shapes
c.Select
nom = c.Name
Sheets("1").Shapes(nom).TextFrame.AutoSize = True
Next c
Messages postés
2
Date d'inscription
dimanche 12 septembre 2004
Statut
Membre
Dernière intervention
29 mai 2012

For Each c In Sheets("ordo").Shapes
petite erreur
For Each c In Sheets("1").Shapes