Sub test()
Dim extPresentation As PowerPoint.Presentation
Dim thisPresentation As PowerPoint.Presentation
Dim emptyCustomLayout As PowerPoint.CustomLayout
Dim nouvelleDiapo As PowerPoint.Slide
Dim nouvelleShape As Shape
'définir la présentation où créer la nouvelle slide
Set thisPresentation = ActivePresentation
'ouvrir la présentation dont on doit copier la slide
Set extPresentation = Application.Presentations.Open("C:\...\extPresentation.pptx", True)
'copier la slide 1
extPresentation.Slides(1).Copy
'ajouter une nouvelle diapositive vide en dernière position
With thisPresentation
Set emptyCustomLayout = .SlideMaster.CustomLayouts(7) '7 = vide, dans mon modèle de présentation
Set nouvelleDiapo = .Slides.AddSlide(.Slides.Count + 1, emptyCustomLayout)
End With
'copier la diapositive et récupérer la Shape
Set nouvelleShape = nouvelleDiapo.Shapes.PasteSpecial(ppPasteOLEObject, , , , , True).Item(1)
'positionner et dimentionner la shape
nouvelleShape.Top = 0
nouvelleShape.Left = 0
nouvelleShape.LockAspectRatio = True
nouvelleShape.Width = nouvelleDiapo.Master.Width
'fermer la présentation externe
extPresentation.Close
End Sub