Re: Excel -> PowerPoint automatiser l'export de data
bonjour Daniel
je te propose deux exemples :
le premier exemple créée une nouvelle presentation et insères la valeur de la Cellule A1 dans une zone de texte (shape ) . La nouvelle présentation est sauvegardée dans le meme repertoire que le classeur excel contenant la macro
Sub NouvellePresentation()
'nécéssite d'activer la reference Microsoft Powerpoint 10.0 Object Library
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add
With PptDoc
.Slides.Add Index:=1, Layout:=ppLayoutBlank
.Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=100, Width:=60, Height:=150).TextFrame.TextRange.Text = Range("A1")
End With
PptDoc.SaveAs Filename:=ThisWorkbook.Path & "\" & "NouvellePresentation.ppt"
PptDoc.Close 'fermer la presentation sauvegardée
PptApp.Quit 'fermer powerpoint
End Sub
le deuxieme exemple insères la valeur de la cellule A1 dans la deuxieme zone de texte , du 3eme slide d'une présentation existante .
Sub ModifPresentationExistante()
'nécéssite d'activer la reference Microsoft Powerpoint 10.0 Object Library
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True '
Set PptDoc = PptApp.Presentations.Open("C:\Documents and Settings\MaPresentation.ppt") 'adapter le chemin
With PptDoc
.Slides(3).Shapes(2).TextFrame.TextRange.Text = Range("A1")
.Save 'sauvegarder la presentation
End With
PptDoc.Close 'fermer la presentation sauvegardée
PptApp.Quit 'fermer powerpoint
End Sub
j'espere que cela pourra t'aider
bonne soiree
MichelXld