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 un fichier incorporé sous Excel par VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 14
    Par défaut Enregistrer un fichier incorporé sous Excel par VBA
    Bonjour à tous,

    Je vous contacte car après de nombreuses recherches, je n'arrive toujours pas à solutionner mon problème.

    J'ai un fichier Excel sur lequel j'ai incorporé un fichier Powerpoint avec une charte graphique personnalisée. L'objectif est de générer un Pptx personnalisé suivant les informations remplies dans le Excel.

    Cependant, je souhaiterais que le fichier incorporé demeure "par défaut" et il conviendrait donc d'ouvrir le fichier, puis de l'enregistrer sous, dans le dossier où se trouve le document Excel, afin d'utiliser ce fichier pour effectuer les modifications.

    J'ai bien le code pour ouvrir le fichier Pptx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Shapes.Range(Array("Object 5")).Select
        Selection.Verb Verb:=xlOpen
    Cependant, je reste bloqué à l'étape suivante, à savoir enregistrer le fichier dans le même dossier que celui de mon document Excel.

    Si quelqu'un à une piste, je suis preneur!

    Merci d'avance!

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonsoir,
    Ceci pourra peut-être t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Chemin as String
    Set Chemin= ThisWorkbook.Path ' Ici tu défini le chemin de ton fichier Excel (Celui dans lequel tu as ta macro)
    Object5.SaveAs Chemin & "\" & Nom_de_ton_Fichier_PowerPoint
    Perso je ne l'ai pas testé mais cela pourra déjà t'aiguiller

    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 14
    Par défaut
    Bonsoir Eric,

    Merci pour cette réponse rapide.
    Alors en effet pour le chemin c'est parfaitement ce qu'il me faut, merci!

    Par contre la difficulté c'est la déclaration de l'objet. J'avoue que là je n'ai vraiment pas d'idée. J'arrive à l'ouvrir, je vois bien où l'enregistrer, il me manque le "comment" enregistrer...

    Thomas

  4. #4
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Thomas
    J'ai trouvé ceci, il me semble que cela répond a ton souhait:
    http://www.info-3000.com/vbvba/piloterpowerpoint.php
    D’après plusieurs post trouvé sur ce sujet, pour déclarer ta variable il faut utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim TaVAriable As PowerPoint.Application
    Set TaVariable = CreateObject("PowerPoint.Application")
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  5. #5
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 14
    Par défaut
    Bonjour Eric,

    Alors effectivement l'aide info-3000 est intéressante pour la deuxième phase de ma macro, à savoir l'ouverture du document pour changer les données.

    Le problème que j'ai, c'est celui d'enregistrer le powerpoint incorporé sur mon Excel, car je ne veux pas que l'utilisateur ait une manipulation à effectuer pour venir mettre le modèle powerpoint dans le fichier du Excel.

    Du coup, j'arrive à un code qui ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub TestPowerPoint()
     
    ' Déclaration des variables :
     
        Dim ppt As PowerPoint.Application
        Dim Pres As PowerPoint.Presentation
        Dim Chemin As String
     
     
    ' Première partie, on vient enregistrer l'objet powerpoint incorporé dans le repertoire du fichier Excel source :
     
            ActiveSheet.Shapes.Range(Array("Object 5")).Select
            Selection.Verb Verb:=xlOpen
     
            Chemin = ThisWorkbook.Path
     
            ???.SaveAs Chemin & "presentations"
     
    ' Deuxième partie, on ouvre le modèle pour venir personnaliser suivant les données du doc Excel :
     
        Set ppt = CreateObject("PowerPoint.Application")
        ppt.Visible = True
     
        Set Pres = ppt.Presentations.Open(Filename:=ThisWorkbook.Path & "\nom de mon powerpoint.pptx")
     
                ' -> Macro définissant les opérations à effectuer
     
        Pres.Save
     
        ppt.Quit
        Set ppt = Nothing
     
    End Sub
    Mon problème se situe donc au niveau des points d’interrogation, où je ne sais pas quoi déclarer pour pouvoir enregistrer l'objet incorporé que je viens d'ouvrir...

    En tout cas, merci beaucoup pour ton aide Eric.

    Thomas

  6. #6
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Thomas,
    Je n'ai pas encore eu à faire ces manipulations, ça viendra peut-être un jour, mais as-tu essayé tout simplement ?

    Attention à ajouter un séparateur entre ton chemin et le nom du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.SaveAs Chemin & "\" & "presentations"
    ou alors ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OLEObjects("Object 5").SaveAs Chemin  & "\" &  "presentations"
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

Discussions similaires

  1. [XL-2010] Ouverture d'un fichier Excel par VBA
    Par cameleon1970 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/04/2012, 12h35
  2. [AC-2003] Remise en forme d'un fichier Excel Par VBA (Access)
    Par Deustalos dans le forum VBA Access
    Réponses: 6
    Dernier message: 09/11/2009, 09h45
  3. [XL-2007] [VBA-E] Importer un fichier .s2p sous EXCEL 2007
    Par blub 2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/04/2009, 14h58
  4. Appel fichier excel par vba
    Par wachoo31 dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/04/2009, 11h13
  5. Renommer fichier excel par vba
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/07/2008, 12h20

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