Bonjour,
Apres des heures de recherche , je n'ai pas trouvé la solution. Il y a des codes sur des forum, mais ils ne répondent pas à mon besoin.
En effet, je souhaiterais exporter tous les graphiques d'un classeur excel sur un PowerPoint. 1 graphique = 1 diapo
J'ai voulu adapter un code d'un livre mais ça dépasse mes connaissances (ci-joint)
Si quelqu'un peut m'orienter ...
Merci d'avance,
Cordialement
Apres des heures de recherche , je n'ai pas trouvé la solution. Il y a des codes sur des forum, mais ils ne répondent pas à mon besoin.
En effet, je souhaiterais exporter tous les graphiques d'un classeur excel sur un PowerPoint. 1 graphique = 1 diapo
J'ai voulu adapter un code d'un livre mais ça dépasse mes connaissances (ci-joint)
Si quelqu'un peut m'orienter ...
Merci d'avance,
Cordialement
VB:
Sub Excel_chart_to_PPT ()
Dim PptApp As PowerPoint.Application
Dim iSlide As PowerPoint.Slide
Dim ChartObj As Excel.ChartObject
On Error Resume Next
Set PptApp = GetObject(, "PowerPoint.Application")
On Error GoTo 0
If PptApp Is Nothing Then
Set PptApp = New PowerPoint.Application
End If
If PptApp.Presentations.Count = 0 Then
PptApp.Presentations.Add
End If
PptApp.Visible = True
For Each ChartObj In ActiveSheet.ChartObjects
PptApp.ActivePresentation.Slides.Add
PptApp.ActivePresentation.Slides.Count + 1, ppLayoutText
PptApp.ActiveWindow.View.GotoSlide
PptApp.ActivePresentation.Slides.Count
Set iSlide =
PptApp.ActivePresentation.Slides(PptApp.ActivePresentation.Slides.Count
)
ChartObj.Select
ActiveChart.ChartArea.Copy ' j'ai une erreur à ce niveau également
On Error Resume Next
iSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select
iSlide.Shapes(1).TextFrame.TextRange.Text =
ChartObj.Chart.ChartTitle.Text
PptApp.ActiveWindow.Selection.ShapeRange.Left = 25
PptApp.ActiveWindow.Selection.ShapeRange.Top = 150
iSlide.Shapes(2).Width = 300
iSlide.Shapes(2).Left = 600
Next
AppActivate ("Microsoft PowerPoint")
Set iSlide = Nothing
Set PptApp = Nothing