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 :

Ajouter un slide dans un Powerpoint avec Vba et y insérer un graphique situé dans un doc Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut Ajouter un slide dans un Powerpoint avec Vba et y insérer un graphique situé dans un doc Excel
    Bonjour,

    J'ai un soucis dans mon code Vba. Je travaille sur une macro Excel. Je veux ajouter un slide à un powerpoint déja existant. Le document Excel contient déja une macro me générant ce powerpoint.
    J'essaye donc de trouver le code pour ajouter ce slide et y insérer un graphique se trouvant dans la feuille "Evolution" de ce document excel,
    mais impossible :s..

    Quelqu'un aurait-il une solution?

    Thanks

  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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut ça ne marche toujours pas
    Rebonjour,

    Merci de m'avoir répondu mais ça ne marche toujours pas.

    J'ai essayé avec 3 codes différents mais ça ne marche pas. Il y a une erreur ou alors la macro ne se lance meme pas j'ai l'impression :


    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
    'ThisWorkbook.Sheets("Evolution").Activate                           'active la feuille Evolution
        'Dim myShapeRange As PowerPoint.Shape                                'Image ...
        'myShapeRange.CopyPicture                                            'Copie de l'image
        'countShapes = ppt.Presentations(fileName).Slides(i).Shapes.count
        'ppt.Presentations(fileName).Slides(8).Shapes.PasteSpecial (ppPasteEnhancedMetafile)   'colle au forma spécial
        'countShapes = ppt.Presentations(fileName).Slides(i).Shapes.count
     
     
     
    '--- Ajoute un nouveau slide et le positionner en 2eme position
        Set Diapo = ppt.Presentations(fileName).Slides.Add(Index:=9, Layout:=ppLayoutBlank)
     
        ThisWorkbook.Sheets("Evolution").Select
        ActiveSheet.Unprotect
        ActiveSheet.ChartObjects("Graphique 8").Activate
        ThisWorkbook.Sheets("Evolution").ChartObjects("Graphique 8").Copy
        ActiveChart.ChartArea.Copy
       'Et on le colle dans la première diapositive de la présentation :
       ppt.Presentations(fileName).Slides(9).Shapes.Paste
     
     
     
     
     
       ThisWorkbook.Sheets("Evolution").Unprotect
       ' Copie du graphique
       Sheets("Accueil").ChartObjects("Graphique 8").ChartArea.Copy
       Dim graphique As Chart
       Set graphique = Sheets("Evolution").ChartObjects(1).Chart
       Sheets("Accueil").ChartObjects(1).ChartArea.Copy
       graphique.ChartArea.Copy
       ppt.Presentations(fileName).Slides(1).Shapes.Paste


    Merci d'avance

  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 ryryyz Voir le message
    J'ai essayé avec 3 codes différents mais ça ne marche pas.
    Quelques questions dont la réponse ma semble évidente mais on ne sait jamais...
    As-tu remarqué que dans le premier code tout est mis en commentaire ?
    As-tu adapté ces codes aux noms des objets de ton cas (nom d'onglet, nom de graphique, indices, etc.) ?

    Il y a une erreur
    Quelle erreur ? Sur quelle ligne ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 6
    Par défaut suite
    hahaha oui c'était fait exprès car je testais plusieurs bout de code.
    Je pense aussi que mon code est adapté à mon sujet.

    J'ai réussi à insérer un 9ème slide comme voulu avec la commande suivante: ppt.Presentations(fileName).Slides.Add 9, 1

    Mais je n'arrive toujours pas à prendre un graphique contenu dans une feuille de mon document excel, pour le coller dans ce nouveau slide.

    Avez-vous une idée de la solution svp? Merci

  6. #6
    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 ryryyz Voir le message
    Je pense aussi que mon code est adapté à mon sujet.
    Quand je vois que tu as mis comme code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Accueil").ChartObjects("Graphique 8").ChartArea.Copy
    Je trouve quand même que c'est une étonnante coïncidence que tu ais le même nom d'onglet et de graphique que le demandeur vers qui j'ai proposé le lien...

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

Discussions similaires

  1. [XL-2010] Ajouter des valeurs dans un tableau avec vba
    Par lovlov33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/01/2016, 17h01
  2. ajouter et supprimer des données dans un tcd avec vba
    Par pscoool dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/12/2009, 18h14
  3. Réponses: 2
    Dernier message: 11/07/2006, 15h00
  4. Réponses: 4
    Dernier message: 15/04/2006, 19h41
  5. Insertion d'une date dans une table avec vba
    Par skeut dans le forum Access
    Réponses: 2
    Dernier message: 21/02/2006, 08h54

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