Accéder à une partie de texte

Bonjour, je suis un peu novice sur VBA

Je commence à coder le VBA

Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
        Left:=31, Top:=100, Width:=153, Height:=58)
        Sh.TextFrame.TextRange.Text = "Banane : " & Banane & Chr(10) & "Tomate : " & Tomate
        Sh.TextFrame.TextRange.Font.Size = 20
        Sh.TextFrame.TextRange.Font.Name = "Helvetica 75 Bold"

Banane et Tomate sont deux Integers correspondant au nombre de bananes et tomates vendues

Je cherche à mettre en forme la partie "Banane : " & Banane par exemple, changer la couleur

Un exemple de code dont tu peux t'inspirer ...

    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(8, 7).Font.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Solid
    End With
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters(8, 7).Font.Italic = _
        msoTrue

je mets en rouge et ensuite en italique les 7 caractères à partir du 8ème (compris)

Bonjour,

        With Sh.TextFrame.TextRange.Characters(1, 9 + Len(Banane))
          .Font.Bold = True
          .Font.Color = RGB(255, 0, 0)
        End With

Merci beaucoup pour votre aide !

Et en fait, j'avais une petite derniere question sur les shapes

With PptDoc
     Set Diapo1 = .Slides.Add(Index:=1, Layout:=ppLayoutBlank)
        w = .PageSetup.SlideWidth
        h = .PageSetup.SlideHeight

        Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
        Left:=10, Top:=55, Width:=670, Height:=28)
        Sh.TextFrame.TextRange.Text = "Plan de charge des DC : Interventions en différents statuts" & Chr(10) & "Flux chauds et Flux froids"
        Sh.TextFrame.TextRange.Font.Color = RGB(255, 128, 0)
        Sh.TextFrame.TextRange.Font.Size = 18
        Sh.TextFrame.TextRange.Font.Name = "Helvetica 75 Bold"

J'ai essayé de faire en sorte que le texte soit centré dans la zone de texte. Ici la zone de texte est centré horizontalement mais j'aimerais également que le texte, notamment 'Flux chauds et Flux froids', soit centré dans la zone de texte horizontalement

J'ai vu qu'il existait une fonction HorizontalAlignement mais ici je ne peux pas l'appliquer

8presentation1.pptx (29.89 Ko)

Bonjour,

        Sh.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter
        Sh.TextFrame2.VerticalAnchor = msoAnchorMiddle
Rechercher des sujets similaires à "acceder partie texte"