Ppt VBA propriété objet

Bonjour à tous,

Comment peut-on donner un nom à une forme pour pouvoir ensuite l'exploiter

sous VBA ? je ne retrouve pas comment voir les propriétés des formes , zone de texte etc sur powerpoint??!!

Merci pour vos réponses

sab

Salut sabrina75005,

cette macro te permet de connaître le nom de toutes tes formes de ta slide 1 :

For Each image In ActivePresentation.Slides(1).Shapes
MsgBox image.Name
Next

C'est ce qu'il te fallait ?

Baboutz

Hello,

merci pour ta réponse baboutz

jai mis ça comme code ça ne marche pas ....

Dim myDocument As PowerPoint.Presentation

For Each image In ActivePresentation.Slides(1).Shapes
MsgBox image.Name
Next

sab

sinon comment le faire manuellement stp sur powerpoint?

merci

sab:)

C'est possible manuellement.

Ruban accueil -> Sélectionner (Tout à droite normalement) -> Volet Sélection

En réalisant cette manipulation tu as accès à tes différents objets présent sur la slide avec leurs noms, que tu peux modifier

Bonne journée,

Baboutz

merci beaucoup pour ta réponse Baboutz . je lance ce code là et jai un message d'erreur " un composant activeX ne peut pas etre créé"

voici mon code

Sub test()

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

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

End Sub

merci

sab

Comme ça ?

If myDocument.Shapes("Rectangle 1").VerticalFlip Then myDocument.Shapes("Rectangle 1").Flip msoFlipVertical 

Tu veux faire quoi exactement ?

en fait je veux a travers vba su rle slide 1 de mon ppt qui est ouvert je veux que la forme qui se nomme 'rectangle 2' se mette à lhorizontale et que son nom change quil passe de rectangle 1 à rectangle 2

Comme ceci ?

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes("Rectangle 2").Rotation = 90

Si tu connais son nom, pourquoi veux-tu lui faire changer de nom ?

j'ai le meme message d'erreur que précedemment je comprends pas le messaeg d'erreur le code ne fonctionne pas chez moi... pour le changement de nom c('est juste de la manipualtion mais effectivement j'en ai pas besoin

Chez moi ça marche... Peux-tu joindre ton fichier s'il te plaît ?

Cdlt

oui tu peux les trouver ci joint mon excel et mon ppt

merci pour ton aide

10eddie.pptx (34.09 Ko)
11classeurtest.xlsm (23.26 Ko)

sab

Okay, je n'avais pas compris que tu voulais piloter ça depuis un fichier Excel !

Changement de programme : on va créer une macro sur PowerPoint qui va être exécuté depuis une macro Excel.

Avant tout : il te faut activer la bibliothèque PowerPoint sur Excel : Menu Outils -> Références -> Cochez la ligne "Microsoft Powerpoint x.x Object Library".

Macro dans ton fichier Excel, à adapter:

Sub t()

    Dim oPPTApp As PowerPoint.Application
    Dim oPPTPres As PowerPoint.Presentation
    Dim sPresentationFile As String
    sPresentationFile = "XX:\XX\XX\XX\Eddie.pptm"

    Set oPPTApp = New PowerPoint.Application
    oPPTApp.Visible = True
    Set oPPTPres = oPPTApp.Presentations.Open(sPresentationFile)

    oPPTApp.Run ("XX:\XX\XX\XX\Eddie.pptm!ModifPPT")

    Set oPPTPres = Nothing
    Set oPPTApp = Nothing

End Sub

Ensuite, macro que tu places dans ton fichier Powerpoint :

Sub ModifPPT()

    Set myDocument = ActivePresentation.Slides(1)

    myDocument.Shapes("Forme2").Rotation = 0

End Sub

Cette macro ouvre le PPT donc tu as avantages à le laisser fermé avant la manip.

5eddie.pptm (37.58 Ko)
4classeurtest.xlsm (23.06 Ko)

Cela te convient ?

Baboutz

hello oui je regarde ton code merci beaucoup par contre je ne maiotrise pas les macros dans le powerpoint? je ne sais pas où la mettre?

sab

Exactement comme Excel. Alt + F11 pour ouvrir l'éditeur, clique droit sur ta présentation, insertion d'un module puis là dedans tu places ton code !

daccord ça marche bien merci beaucoup juste une dernière chose est ce qeu tu peux mexplqiuer tes codes stp. Je voulais t'expliquer pourquoi car en fait j'aimerais aussi envoyer la valeur d'une macro dans un texte sur un ppt je en sais pas comment faire du coup?!

exemeple " VARIABLE % des chiens sont gros"

je voudrais que la valeur de la variable VARIABLE soit envoyé depuis excel dans le ppt , le reste du texte ne change pas

merci beaucoup

sab

Re,

Oui pas de soucis, voilà pour le code Excel :

Sub t()

    'On déclare différentes variables
    Dim oPPTApp As PowerPoint.Application
    Dim oPPTPres As PowerPoint.Presentation
    Dim sPresentationFile As String

    'On indique le chemin de notre ppt dans la variable
    sPresentationFile = "C:\Users\alvanmer\Downloads\Eddie.pptm"

    'on ouvre lapplication PowerPoint
    Set oPPTApp = New PowerPoint.Application

    'On le rend visible
    oPPTApp.Visible = True

    'On ouvre notre ppt
    Set oPPTPres = oPPTApp.Presentations.Open(sPresentationFile)

    'On exécute la macro présente dans le ppt
    oPPTApp.Run ("C:\Users\alvanmer\Downloads\Eddie.pptm!ModifPPT")

    'On vide les deux variables objets
    Set oPPTPres = Nothing
    Set oPPTApp = Nothing

End Sub

La macro PowerPoint, ça va ou explications aussi ?

Bonne soirée,

Baboutz

hello,

merci beaucoup pour tes explications. Je voulais t'expliquer pourquoi car en fait j'aimerais aussi envoyer la valeur d'une macro dans un texte sur un ppt je en sais pas comment faire du coup?!

exemeple " VARIABLE % des chiens sont gros"

je voudrais que la valeur de la variable VARIABLE soit envoyé depuis excel dans le ppt , le reste du texte ne change pas

merci beaucoup

sab

La macro powerpoint c'est bon merci

sab

Rechercher des sujets similaires à "ppt vba propriete objet"