Bonjour le Forum,
Je me suis essayé à piloter un diaporama Powerpoint à travers le code VBA d'un classeur excel.
Tout se passe bien pour l'ouverture du fichier ppt qui me sert de modèle, ainsi que pour l'alimentation des diapositives par des copier/coller de plages d'une feuille de mon classeur Excel.
Mon souci intervient après avoir fait un "enregistré sous" du fichier PowerPoint, ou je ne parviens pas à refermer ni le fichier ppt que je viens de créer ni de refermer l'application Powerpoint.
Ci dessous mon code et en police de couleur verte les lignes qui coincent. (et en incrustation mes explications en rouge)
Sub ExportVersPPT() 'export vers PPT à partir de plages d'une feuille du classeur xls
Application.ScreenUpdating = False
Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True
Set PptDoc = PptApp.Presentations.Open("\\MonRépertoire\MonFichier.pptx")
With PptDoc
……..bla bla bla …..mon code…….
End With
CritereFiltre = Sheets("table").Range("A2").Value & Sheets("table").Range("B2").Value
Mois = Month(Now)
Jour = Day(Now)
Heure = Hour(Now)
extension = ".pptx"
NomFichier = "Evaluation" & " - " & CritereFiltre & " - n° " & Mois & Jour & Heure & extension
Chemin = "\\MonChemin\"
With PptDoc
.SaveAs Chemin & NomFichier
End With
‘C’est les 3 lignes qui suivent qui me cause souci, et je ne parviens pas à refermer le fichier ppt puis l’application Powerpoint, pour revenir vers la feuille excel de mon classeur d’où j’ai lancé la macro.
PptApp.ActivePresentation.Close
On Error Resume Next
PptApp.Quit
MsgBox ("Votre présentation PowerPoint a été sauvegardée sous le nom suivant : " & NomFichier)
Application.ScreenUpdating = True
End Sub
‘De plus l’instruction Application.ScreenUpdating = False est sans effet, je vois toute l’incrémentation de mon fichier ppt.
Merci pour votre aide
Océanne