Impression d'un PPT et enregistremt ds le même dossier

Fermé
lydines - 4 juin 2014 à 18:03
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 12 juin 2014 à 17:09
Bonjour,

Je souhaite créer une macro qui permet d'imprimer un ppt en PDF et ensuite d'enregistrer ce PDF avec le même nom que le PPT dans le dossier d'origine du PPT.

Je précise que j'utilise PPT 2010 et PDF Creator.

Pour exemple, imaginons un fichier PPT nommé "Présentation client.pptx" et enregistré dans le dossier "C:\Users\Documents", j'aimerai créer un bouton dans ma barre d'outils PPT qui serai relié à une macro. Cette macro imprimerai le fichier en PDF, le nommerai "Présentation client.pdf" et l'enregistrerai sous "C:\Users\Documents".

Pour l'instant et après plusieurs recherches sur différents forums, je ne suis arrivé qu'à une macro qui ouvre la fenêtre de dialogue de PDF Creator.
Voilà le code :
Sub Macro1()

sName = ActivePresentation.Name
With ActivePresentation.PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
.Add Start:=1, End:=1
End With
.NumberOfCopies = 1
.Collate = msoTrue
.OutputType = ppPrintOutputSlides
.PrintHiddenSlides = msoTrue
.PrintColorType = ppPrintColor
.FitToPage = msoFalse
.FrameSlides = msoFalse
.ActivePrinter = "PDFCreator"
End With
ActivePresentation.PrintOut
ActivePresentation.SaveAs FileName:=sName
Dim sPDFName As String
Dim sPDFPath As String
sPDFPath = ActivePresentation.Path & "\"
End Sub



J'espere avoir été assez claire dans ma demande et je vous remercie par avance de l'aide que vous pourrez m'apporter.
A voir également:

7 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
4 juin 2014 à 19:02
Bonjour,

comme vous avez office 2010, pas besoin de PDFCreator, vous pouvez utiliser ceci:

Sub sav_pdf_auto()
Dim r1 As PrintRange, r2 As PrintRange, r3 As PrintRange

'Diapo1
'Set r1 = ActivePresentation.PrintOptions.Ranges.Add(1, 1)
'Diapo1 et Diapo2
'Set r2 = ActivePresentation.PrintOptions.Ranges.Add(1, 2)
'definition presentation complete a sauvegarder en PDF
Set r3 = ActivePresentation.PrintOptions.Ranges.Add(1, ActivePresentation.Slides.Count)
ActivePresentation.ExportAsFixedFormat Path:=ActivePresentation.Path & "\" & Replace(ActivePresentation.Name, "pptm", "PDF"), _
FixedFormatType:=ppFixedFormatTypePDF, _
PrintRange:=r3, RangeType:=ppPrintSlideRange
End Sub
0
lydines Messages postés 9 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 12 juin 2014
11 juin 2014 à 15:07
Bonjour,

Et merci pour votre réponse que je n'avais pas eu avant...

J'ai essayé votre code et j'ai malheureusement un message d'erreur qui m'indique "La méthode'ExportAsFixedFormat' de l'objet '_Présentation' a échoué"

Merci encore pour votre aide !
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 juin 2014 à 19:07
Bonjour,

Votre fichier powerpoint a quelle extension, normalement PPTM mais ....????
0
lydines Messages postés 9 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 12:12
Bonjour,

C'est une extension pptx. Est ce que ça pose problème ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lydines Messages postés 9 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 12:17
Bonjour à nouveau,

Oui, évidemment ça change tout ! Puisque le pptx ne prend pas en charge les macros...

Du coup, votre solution fonctionne parfaitement !

Merci beaucoup !
0
lydines Messages postés 9 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 12 juin 2014
12 juin 2014 à 15:29
Dernière question : j'aimerai que cette macro soit executable à partir de n'importe quel fichier PPT. Est-il possible de faire comme sous excel un fichier perso.ppt qui porte la macro et qui s'ouvre à l'ouverture de PPT ?

Merci d'avance.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 juin 2014 à 17:09
Re,

Quelle est votre idee derriere cette demande ????

Vous pouvez faire des macros complementaires, mais un fichier type perso comme excel, pas sur
0