Partage via


Objet Shape (PowerPoint)

Représente un objet du calque de dessin, comme une forme automatique, une forme libre, un objet OLE ou une image.

Remarques

Remarque

Trois objets représentent des formes : la collection Shapes , qui représente toutes les formes d’un document ; la collection ShapeRange , qui représente un sous-ensemble spécifié des formes d’un document (par exemple, un objet ShapeRange peut représenter des formes un et quatre sur le document, ou il peut représenter toutes les formes sélectionnées sur le document) ; et l’objet Shape , qui représente une forme unique sur un document. Pour utiliser plusieurs formes simultanément ou des formes faisant partie de la sélection, utilisez une collection ShapeRange.

Pour obtenir une vue d’ensemble de l’utilisation d’une seule forme ou de plusieurs formes à la fois, consultez Utiliser des formes (objets dessin).

Les exemples suivants montrent comment effectuer les tâches suivantes :

  • Renvoyer une forme existante d’une diapositive, indexée par nom ou numéro

  • Renvoyer une nouvelle forme sur une diapositive

  • Renvoyer une forme de la sélection

  • Renvoyer le titre et d’autres espaces réservés d’une diapositive

  • Renvoyer les formes attachées aux extrémités d’un connecteur

  • Renvoyer la forme par défaut d’une présentation

  • Renvoyer une nouvelle forme libre

  • renvoyer une seule forme au sein d’un groupe ;

  • Renvoyer un nouveau groupe de formes

Exemple

Utilisez Shapes (index), où index est le nom de la forme ou le numéro d’index, pour renvoyer un objet Shape qui représente une forme sur une diapositive. L’exemple suivant permet de faire pivoter horizontalement la forme 1 et la forme nommée « Rectangle 1 » dans myDocument.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Chaque forme reçoit un nom par défaut lorsque vous l’ajoutez à la collection Shapes. Pour nommer la forme de manière plus explicite, utilisez la propriété Name. L’exemple suivant ajoute un rectangle à myDocument, lui donne le nom Carré rouge, puis définit sa couleur de premier plan et son style de trait.

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _

        Top:=144, Left:=144, Width:=72, Height:=72)

    .Name = "Red Square"

    .Fill.ForeColor.RGB = RGB(255, 0, 0)

    .Line.DashStyle = msoLineDashDot

End With

Pour ajouter une forme à une diapositive et renvoyer un objet Shape qui représente la forme nouvellement créée, utilisez l’une des méthodes suivantes de la collection Shapes : Add3DModel, AddCallout, AddConnector, AddCurve, AddLabel, AddLine, AddMediaObject, AddOLEObject, AddPicture, AddPlaceholder, AddPolyline, AddShape, AddTable, AddTextbox, AddTextEffect, AddTitle.

Utilisez Selection.ShapeRange (index), où index est le nom de la forme ou le numéro d’index, pour renvoyer un objet Shape qui représente une forme dans la sélection. L’exemple suivant montre comment définir le remplissage de la première forme de la sélection dans la fenêtre active, en supposant qu’il existe au moins une forme dans la sélection.

ActiveWindow.Selection.ShapeRange(1).Fill _

    .ForeColor.RGB = RGB(255, 0, 0)

Utilisez Shapes.Title pour renvoyer un objet Shape qui représente un titre de diapositive existant. Utilisez Shapes.AddTitle pour ajouter un titre à une diapositive qui n’en possède pas encore et renvoyer un objet Shape qui représente le nouveau titre. Utilisez Shapes.Placeholders (index), où index est le numéro d’index de l’espace réservé, pour renvoyer un objet Shape qui représente un espace réservé. Si vous n’avez pas modifié l’ordre des couches des formes sur une diapositive, les trois instructions suivantes produisent le même résultat, en supposant que la diapositive un possède un titre :

ActivePresentation.Slides(1).Shapes.Title _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes.Placeholders(1) _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes(1).TextFrame _

    .TextRange.Font.Italic = True

Pour renvoyer un objet Shape qui représente l’une des formes attachées par un connecteur, utilisez la propriété BeginConnectedShape ou EndConnectedShape .

Pour renvoyer un objet Shape qui représente la forme par défaut d’une présentation, utilisez la propriété DefaultShape .

Utilisez les méthodes BuildFreeform et AddNodes pour définir la géométrie d’une nouvelle forme libre, puis utilisez la méthode ConvertToShape pour créer la forme libre et renvoyer l’objet Shape qui la représente.

Utilisez GroupItems (index), où index est le nom de la forme ou le numéro d’index du groupe, pour renvoyer un objet Shape qui représente une forme unique dans une forme groupée.

Utilisez la méthode Group ou Regroup pour regrouper une plage de formes et renvoyer un seul objet Shape qui représente le nouveau groupe. Une fois un groupe a été créé, vous pouvez travailler avec le groupe de la même façon que vous travaillez avec n'importe quel autre forme.

Méthodes

Propriétés

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.