Taille police automatique dans Shape

Bonjour le forum

Je souhaite juter la taille de la police dans un shape mais je n'y arrive pas. Ce que je veux faire est semblable à ce qu'on peut faire dans une cellule (Contrôle du texte et Ajuster).

Aujourd’hui j'utilise

Feuil1.Shapes("Original").TextFrame2.AutoSize = msoAutoSizeTextToFitShape

Le "problème" c'est que ça n'adapte pas la taille de la police. Est-ce que ce paramètre existe ? Si oui quel est-il ?

Par avance, merci de l’intérêt porté au sujet

Bonjour,

j'écrirai plutôt :

Feuil1.Shapes("Original").TextFrame.AutoSize = msoTrue

Pierre

Pour être plus explicite, j'ai un formulaire qui créer des étiquettes et les placent sur un planning. Mon code actuel définir la largeur de l'étiquette pour correspondre a l'intervalle de dates sélectionnées sur le formulaire. Il ne faut donc surtout pas redimensionner l'étiquette mais bien le texte a l'intérieur.

Pas de soucis, il suffit de dissocier forme et texte :

1/ on crée la forme avec un turc genre :

Sheets("Bidule").Shapes.AddShape(msoShapeRoundedRectangle, L, T, W, H)

2/ on crée un texte dans la forme précédente :

Sheets("Bidule").Shapes.AddTextbox(msoTextOrientationHorizontal, L, T, W, H)

et là on la positionne où on veut en jouant sur L, T, W, H et en fonction du texte

Voici un exemple copié d'un de mes appli :

    With Sheets("Planning")
        couleur = .Range("A" & lg).Interior.color
        Set Sh = .Shapes.AddShape(msoShapeRoundedRectangle, L, T, W, H)
        With Sh
            .Fill.ForeColor.RGB = couleur
            .Line.ForeColor.RGB = RGB(160, 160, 160)
            .Fill.Transparency = 0.3
            .Name = "_" & Nom
            With .TextFrame2
                .HorizontalAnchor = msoAnchorCenter
                .WordWrap = msoFalse
                .MarginTop = 0.1
                With .TextRange.Characters
                    .Text = Txt
                    .Font.Size = 10
                    .Font.Bold = True
                    .Font.Fill.ForeColor.RGB = &H353535
                End With
            End With
            .OnAction = "Fiche"
        End With

        Set Sh = .Shapes.AddTextbox(msoTextOrientationHorizontal, L, 3 + T + H / 2, W, (H / 2) - 3)
        With Sh
            .Name = "__" & Nom
            .Fill.ForeColor.RGB = couleur
            .Line.Visible = msoFalse
            .Fill.Transparency = 1
            With .TextFrame2
                .HorizontalAnchor = msoAnchorCenter
                .TextRange.Text = Inf
                .TextRange.Characters.Font.Fill.ForeColor.RGB = &HC0&
                .TextRange.Characters.Font.Size = 8
                .TextRange.Font.Italic = msoTrue
            End With
            .OnAction = "Fiche"
        End With
    End With

Merci du retour, je me garde ça sous le coude, je ne vais pas l'utilisé car trop complexe comme code (car ce n'est pas moi qui vais gérer le fichier dans le future). Merci du coup de pouce

Rechercher des sujets similaires à "taille police automatique shape"