Sub XLD_PowerpointEmbeddedSpreadsheet()
'#XLD 07/29/2017 https://www.excel-downloads.com/threads/vba-ajout-dun-objet-worksheet-dans-une-presentation.20017558/
Dim PPApp 'As PowerPoint.Application
Dim PPPres 'As PowerPoint.Presentation
Dim PPSlide 'As PowerPoint.Slide
Dim objPPTShape 'As OLEObject
Dim sWSH_Active As String
Dim wbTemp As Workbook
Dim wbMain As Workbook
Set wbMain = ActiveWorkbook
sWSH_Active = ActiveSheet.name
' Create instance of PowerPoint
Set PPApp = CreateObject("Powerpoint.Application")
' For automation to work, PowerPoint must be visible
' (alternatively, other extraordinary measures must be taken)
PPApp.Visible = True
' Create a presentation
Set PPPres = PPApp.presentations.Add
' Adding first slide of presentation
PPApp.ActiveWindow.View.GotoSlide index:=PPApp.ActivePresentation.Slides.Add(index:=1, Layout:=12).SlideIndex
' Some PowerPoint actions work best in normal slide view
'PPApp.ActiveWindow.ViewType = ppViewSlide
'Set PPSlide = PPPres.Slides.Add(1)
'# Adding OLE object type "Excel.Sheet" (or other type ?)
Set objPPTShape = PPPres.Slides(1).Shapes.AddOLEObject(left:=100, top:=100, Width:=200, Height:=300, ClassName:="Excel.Sheet", DisplayAsIcon:=True)
'# XLD 07/29/2017
'# Opening newly incorporated spreadsheet
With objPPTShape
For Each sVerb In .OLEFormat.ObjectVerbs
nCount = nCount + 1
If sVerb = "Edition" Then
.OLEFormat.DoVerb nCount
Exit For
End If
Next sVerb
End With
DoEvents
'# XLD 07/29/2017
'# Memorizing the Powerpoint embedded spreadsheet
'# to copy desired worksheet into it, and, then closing & save its changes
Set wbTemp = ActiveWorkbook
wbMain.Worksheets(sWSH_Active).Copy After:=wbTemp.Sheets(1)
wbTemp.Close (True)
End Sub