Aide sur macro PPT 2010

Forum Microsoft Office PowerPoint

Modérateur : Argitxu

Aide sur macro PPT 2010

Publicité
 

Avatar du membre
Quartzkyte
Posteur débutant
Posteur débutant
Messages : 15
Enregistré le : 12 déc. 2011, 19:05

Aide sur macro PPT 2010

Message non lu par Quartzkyte » 07 janv. 2015, 14:57

Hello (et bonne année).

JièL m'a rappelé que cette FAQ fait aussi dans le Powerpoint.
J'utilise rarement Powerpoint et n'ai jamais fait de macro avec, je viens donc seulement de réaliser avec délice qu'il n'y a plus d'enregistreur de macros - mais qu'on peut quand même en utiliser (géniaux, ces concepteurs...). :shock:

Bref, j'ai besoin d'un coup de main... ;)
Je cherche comment automatiser la sauvegarde de slides Powerpoint sous format d'images (PNG ou JPG).
Le but ultime est d'automatiser le traitement de centaines de fichiers ppt anciens, précisément sauvegarder en PNG ou JPG sans refaire la manoeuvre ouverture, fermeture, enregistrer sous, Fichier PNG (ou JPG), etc..
JièL me suggérait de retrouver le "batchmacro", si quelqu'un sait s'il est encore dispo en ce moment ?


Ce serait simple dans Photoshop avec les menus de scripts ("actions" dans la nouvelle version) mais j'avoue que dans Powerpoint, je suis scotché.

Quelqu'un peut me donner une piste ? 8-)

Merci d'avance.

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1212
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Aide sur macro PPT 2010

Message non lu par m@rina » 07 janv. 2015, 20:25

Bonjour Quartzkyte et bonne année à toi aussi ! ;)

Alors ce que tu nous demandes est... très simple ! ;))
c'est rarement le cas avec PowerPoint pourtant ! Et si Microsoft a supprimé l'enregistreur de macros, c'est que cet enregistreur était tellement nul qu'il valait mieux le jeter !

Alors la macro donc est simple :

Sub enregistre_images()
Dim nom As String
nom = "C:\mon chemin\" & ActivePresentation.Name
ActivePresentation.SaveAs FileName:=nom, FileFormat:=ppSaveAsJPG
End Sub

cette macro enregistre toutes les slides d'une présentation au format jpg dans un dossier du même nom que la présentation. A toi de mettre le chemin du dossier en question.

Si tu as besoin de faire ça sur un grand nombre de fichiers, effectivement tu pourrais utiliser la batchmacro. Au départ elle est faite pour Word, mais bon, ça doit fonctionner aussi pour PowerPoint.
Comme j'ai refait mon site depuis peu (pb avec mon hébergeur), tout n'est pas encore d'équerre, et je n'ai pas remis les téléchargements.

Donc, déjà vois si la macro que je te donne te convient, et de mon côté je regarde la batchmacro, et comment l'adapter à PPT.

A +
m@rina
m@rina

Avatar du membre
Quartzkyte
Posteur débutant
Posteur débutant
Messages : 15
Enregistré le : 12 déc. 2011, 19:05

Re: Aide sur macro PPT 2010

Message non lu par Quartzkyte » 07 janv. 2015, 20:40

Merci m@rina !
Il faudra un jour que j'apprenne le VB, qui ressemble à beaucoup d'autres choses
Il me manque juste un détail : comment passer au fichier suivant ?
J'attends donc la batchmacro avec intérêt.
Merci encore...

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1212
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Aide sur macro PPT 2010

Message non lu par m@rina » 07 janv. 2015, 21:14

Ce n'est pas un détail ! :)
Je viens de regarder la batchmacro... Elle ne convient pas du tout pour PowerPoint.
Donc, il faut que j'en écrive une spécifique PowerPoint.

Précise moi quelle est ta version, car il y a des choses qui changent d'une version à l'autre.

m@rina
m@rina

Avatar du membre
Quartzkyte
Posteur débutant
Posteur débutant
Messages : 15
Enregistré le : 12 déc. 2011, 19:05

Re: Aide sur macro PPT 2010

Message non lu par Quartzkyte » 07 janv. 2015, 21:22

C'est du 2010 sur Win 7...
Merci encore...
Cordialement, Quartzkyte (Michel pour les intimes).
http://www.corpfrance.com/7extra 7 extra : annuaire Win 7 (webmaster )
faq-outlook.fr F.A.Q. Outlook (admin )

Avatar du membre
m@rina
Administrateur
Administrateur
Messages : 1212
Enregistré le : 14 août 2009, 08:51
Contact :

Re: Aide sur macro PPT 2010

Message non lu par m@rina » 08 janv. 2015, 02:13

Re...

Voici les deux macros. Tu copies exactement tel que je te les donne.

Une boîte de dialogue te demandera le nom de la macro à utiliser, car en VBA PPT, on ne peut pas afficher la boîte de dialogue des macros pour en choisir une... Donc tu devras taper le nom (images)... et puis c'est tout... Tu choisiras les fichiers et le dossier de destination. Et tu pourras aller boire un café... ou plusieurs ! ;))
Fais quand même un test sur deux ou trois fichiers avant de passer tes 1000 fichiers à la moulinette ! ;)

Code : Tout sélectionner

Public dossier As String

Public Sub images()
Dim nom As String

nom = dossier & ActivePresentation.Name
ActivePresentation.SaveAs FileName:=nom, FileFormat:=ppSaveAsJPG
End Sub


Public Sub BatchMacro()
' Exécute une macro par lot sur une série de fichiers PowerPoint
' utilise le FilePicker
' m@rina pour la faqword

Dim macro As String ', dossier As String
Dim vFichier As Variant
Dim NbFichOK As Integer

' 1 -Sélection de la macro
macro = InputBox("quel est le nom de la macro", "Nom de la macro")
If macro = "" Then Exit Sub

' 2 choix du dossier où enregistrer le résultat
'cette partie de la macro n'est pas obligatoire
'elle est nécessaire uniquement lorsque la macro appeléee enregistre des fichiers
MsgBox "vous allez choisir le dossier où enregistrer les fichiers"
Application.FileDialog(msoFileDialogFolderPicker).Show
  dossier = Application.FileDialog(msoFileDialogFolderPicker).InitialFileName


' 2- Sélection des fichiers
' Le FilePicker permet de sélectionner le répertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.Title = "BATCH: Sélectionner les fichiers à traiter"
    fd.Filters.Add "présentations", "*.pptx; *.pptm ", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
   "continuer ?") = vbNo Then Exit Sub
   


' 3- Exécution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
    On Error GoTo Suivant
    Application.Presentations.Open FileName:=vFichier
    On Error GoTo Fermer
    Application.Run macro, x
    NbFichOK = NbFichOK + 1
Fermer:
    On Error GoTo Suivant
    ActivePresentation.Close 'SaveChanges:=wdSaveChanges
Suivant:
    On Error GoTo 0
Next vFichier

' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
& NbFichOK & " Fichiers")
Set fd = Nothing
End Sub
m@rina

Avatar du membre
Quartzkyte
Posteur débutant
Posteur débutant
Messages : 15
Enregistré le : 12 déc. 2011, 19:05

Re: Aide sur macro PPT 2010

Message non lu par Quartzkyte » 08 janv. 2015, 09:46

Merci m@rina !
:merci:
J'essaye en rentrant ce soir.

Avatar du membre
Quartzkyte
Posteur débutant
Posteur débutant
Messages : 15
Enregistré le : 12 déc. 2011, 19:05

Re: Aide sur macro PPT 2010

Message non lu par Quartzkyte » 20 janv. 2015, 19:12

Hello,

Encore, désolé pour le chassé-croisé avec Geo.

J'ai finalement utilisé la sienne, qui est bien plus basique, en mettant tous les fichiers dans le même répertoire (je dispatcherai ensuite avec du renommage par lots).

Sur la tienne j'ai un point d'arrêt à

Application.Run macro, x

Merci pour tout, j'espère que tu ne m'en voudras pas en cette triste journée.

Tram Anh
Posteur débutant
Posteur débutant
Messages : 1
Enregistré le : 03 juin 2015, 10:38

Re: Aide sur macro PPT 2010

Message non lu par Tram Anh » 03 juin 2015, 10:42

Bonjour m@rina,

Pouvez vous m'aider svp, j'aurai besoin ce macro pour Word 2010.
Je cherche le batchmacro mais je ne trouve pas de lien pour le techargement!


Je vous remercie par avance

Cordialement,

Répondre