IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Enregistrer sous un PowerPoint


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Par défaut Enregistrer sous un PowerPoint
    Bonjour,

    j'ai trouvé un code VBA qui me permet d'ouvir un fichier PowerPoint depuis Excel pour ensuite y apporter des modifications et je souhaiterai maintenant pour "enregistrer sous" le fichier powerpoint modifié.

    Est-ce que vous auriez une idée?

    Merci!

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je n'ai jamais fait de VBA avec PowerPoint mais je suppose qu'un SaveAs sur la référence de la présentation traitée devrait faire l'affaire.
    Lire ça : https://docs.microsoft.com/fr-fr/off...ntation.saveas

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je plussoie Menhir en précisant que tu dois utiliser le saveas de PowerPoint et pas celui d'Excel. En supposant que tu es passé par un createObject (sans référence à PPT) ou un new (avec référence à PPT) tu dois faire ton saveas de la présentation. (Ce sont deux saveas "différents", même s'ils ont le même nom).

    Utilise tes propres noms d'objets, mais cela devrait ressembler à cela (de mémoire et non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim appPPT as PowerPoint.application
    dim LaPrésentation as PowerPoint.présentation
     
    set appPPT = createobject(PowerPoint.application)
    set LaPrésentation = appPPT.presentations.open("Hector.pptx")
     
    LaPrésentation saveas("HectorNouveau.pptx")
    Si tu veux changer le format, tu ajoutes une des constantes sur la page indiquée par Menhir.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    En supposant que tu es passé par un createObject (sans référence à PPT)
    Perso, pour ouvrir un fichier "non-Excel" déjà existant, je préfère passer directement par un GetObject. https://docs.microsoft.com/fr-fr/off...bject-function
    Ca évite de passer par l'étape "Application".

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Par défaut
    Merci pour vos réponses!

    J'ai un peu de "grains à moudre" avec ces informations et je vais creuser dans cette direction.

    Je reviendrai avec un résultat ("youpi") ou une question (moins "youpi")

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Par défaut
    Finalement je reviens avec une question, je n'arrive pas à utiliser SaveAs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pptApp = GetObject(, "PowerPoint.Application")
    MaPresentation= pptApp.Presentations.Open(Chemin)
    MaPresentation.SaveAs("MaPresentation.pdf",ppSaveAsPDF,)
    Et j'ai un message d'erreur, "ppSaveAsPDF variable non définie"

    J'ai essayé plusieurs écritures:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaPresentation.SaveAs "MaPresentation.pdf", ppSaveAsPDF 
    MaPresentation.SaveAs FileName:=MaPresentation.pdf", FileFormat:=ppSaveAsPDF
    Mais rien n'y fait. J'ai beau relire la doc, il y a quelque chose qui doit m'échapper et je n'y arrive pas. Donc ma question: C'est quoi le truc idiot que j'ai oublié de faire?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Tu as ce problème parce que tu n'as pas référencé la bibliothèque PowerPoint. Tu ne peux donc pas utiliser une constante de cette bibliothèque. Tu as trois choix:
    • Référencer la bibliothèque, ce qui te permettra de travailler en early binding. Tu pourras alors déclarer tes objets PP en spécifiant leur type plutôt qu'en les déclarant As Object, tu auras la saisie semi-automatique, ...;
    • Remplacer ppSaveAsPDF par 32 qui est la valeur de la constante partout dans ton code;
    • Déclarer la constante en début d'un module standard avec la lignes Public Const ppSaveAsPDF as long = 32 et continuer à utiliser cette constante partout dans ton code.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PPT-2007] Automatiser un enregistrement sous Microsoft Powerpoint
    Par Snake38 dans le forum Powerpoint
    Réponses: 3
    Dernier message: 07/08/2017, 21h51
  2. [C#] Boîte de dialogue "Enregistrer sous"
    Par TmDsbsBs dans le forum ASP.NET
    Réponses: 22
    Dernier message: 31/10/2013, 18h55
  3. Réponses: 3
    Dernier message: 03/11/2005, 19h30
  4. [VBA-E] Enregistrer sous un autre format
    Par Bashaq dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/10/2005, 00h33
  5. variation du nombre enregistrements sous innodb
    Par halina dans le forum Outils
    Réponses: 4
    Dernier message: 30/06/2005, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo