IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA PowerPoint Discussion :

VBA ShapeRange TextFrame AutoSize


Sujet :

VBA PowerPoint

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Par défaut VBA ShapeRange TextFrame AutoSize
    Help,

    je ne trouve pas la propriété sous VBA concernant
    "Réduire le texte dans la zone de débordement"
    pour une zone de texte.
    la valeur "ppAutoSizeShapeToFitText" ne semble pas etre bonne et me renvoie un message d'erreur lors de mon execution de macro.

    Que ce soit pour VerticalAnchor ou Autosize je ne peux les renseigner dans mes macros....

    Avant j'avais dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWindow.Selection.ShapeRange.TextFrame.AutoSize = msoTrue
    mais msoTrue n'est plus valable sous 2007.


    merci beaucoup

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP

    J'ai commencé à rédiger un truc sur le sujet, voici un exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Public Sub Test()
        '---------------------------------------------------------------------------------------
        ' Procedure    : Test
        ' Auteur       : Philippe JOCHMANS http://starec.developpez.com
        ' Commentaires : L'auto dimensionnement d'une zone de texte
        '---------------------------------------------------------------------------------------
     
        ' déclaration des variables
        Dim shpTexte As Shape
        Dim sld As Slide
     
        ' affectation de la diapositive
        Set sld = ActivePresentation.Slides(2)
     
        ' on dessine une zone de texte normal
        Set shpTexte = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 50, 50, 50)
        With shpTexte
            With .TextFrame.TextRange
                .Text = "Bienvenue sur DVP"
                .Font.Size = 12
            End With
            With .Line
                .ForeColor.RGB = RGB(0, 0, 0)
                .Visible = msoTrue
            End With
        End With
     
        ' on dessine la même zone de texte, mais on redéfinit la taille
        Set shpTexte = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 150, 50, 50, 50)
        With shpTexte
            With .TextFrame.TextRange
                .Text = "Bienvenue sur DVP"
                .Font.Size = 12
            End With
            ' on redimensionne la zone par rapport au texte
            .TextFrame.AutoSize = ppAutoSizeShapeToFitText
            .TextFrame.WordWrap = msoFalse
            ' cette instruction va permettre d'attendre que le redimensionnement soit définitif
            DoEvents
            With .Line
                .ForeColor.RGB = RGB(0, 0, 0)
                .Visible = msoTrue
            End With
        End With
     
    End Sub
    Nous avons cumulé la propriété AutoSize avec la propriété WordWrap, en effet nous ne pouvons redimensionner une zone de texte correctement que si cette propriété est à msoFalse, qui détermine si le texte est automatiquement remis à la ligne en cas de dépassement.

    Tu trouveras l'exemple de ce que donne ce code en pièce jointe.

    Philippe
    Images attachées Images attachées  

Discussions similaires

  1. [vba excel] ListBox1.ColumnWidths = AutoSize
    Par chinex dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2008, 22h54
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo