Bonsoir,
J'ai écrit une macro qui me permet de piloter un fichier PowerPoint à partir d'une macro VBA excel. Dans le code, je copie la plage A12:C15 en tant qu'image et je la colle dans le premier slide de ma présentation.
Vous pouvez l'essayer en copiant ce code dans un fichier excel et en plaçant un fichier powerpoint dans le même dossier que le classeur (powerpoint doit être ouvert).
Sub test_shape_ppt()
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True
Set PptDoc = PptApp.Presentations(ThisWorkbook.Path & Application.PathSeparator & "Présentation1.pptx")
'Dim mon_shape As PowerPoint.Shape
Range("A12:C15").CopyPicture
Set mon_shape = PptDoc.Slides(1).Shapes.Paste
End Sub
J'aimerais être en Option Explicit, or je n'y arrive pas, car je ne sais pas en quel type de variable je dois déclarer mon_shape (cf la ligne en commentaire). J'ai essayé As PowerPoint.Shape, As PowerPoint.Shapes, As Shape, As Shapes. En tant que Object cela semble marcher mais je perds la liste déroulante quand j'écris "mon_shape.".
Savez-vous si il est possible de le déclarer en tant que Shape ?
Et au passage, savez vous ce que c'est qu'un Object par rapport à un shape ?
KillChief