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

VBA PowerPoint Discussion :

Ouvrir un fichier Excel + Copier Graphique - collage avec liens


Sujet :

VBA PowerPoint

  1. #1
    Membre à l'essai
    Homme Profil pro
    Esme Sudria
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Esme Sudria

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 11
    Points
    11
    Par défaut Ouvrir un fichier Excel + Copier Graphique - collage avec liens
    Bonjour ,
    Débutant en VBA et actuellement en stage je cherche à réaliser une macro que effectuera les taches suivantes :
    - Ouvrir un fichier Excel depuis mon PowerPoint
    - Copier les graphiques dans ma slide
    - Fermer mon fichier Excel
    NB : Je n'ai pas le droit d'utiliser les collages avec liens sinon ce serai trop facile bien sur
    Après plusieurs recherche sur différent forum j'ai réaliser le patchwork de programme suivant :

    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 Slide4_Click()
       Dim Cht As Excel.ChartObject
       Dim appExcel As Excel.Application 'Application Excel
       Dim wbExcel As Excel.Workbook 'Classeur Excel
       Dim wsExcel As Excel.Worksheet 'Feuille Excel
       Dim wsExcel2 As Excel.Worksheet 'Feuille Excel
        'Ouverture de l'application
        Set appExcel = CreateObject("Excel.Application")
       'Ouverture d'un fichier Excel
       Set wbExcel = appExcel.Workbooks.Open("chemin fichier")
        'wsExcel correspond à la première feuille du fichier
        Set wsExcel = wbExcel.Worksheets("nom feuille1")
        wsExcel.Activate
        'Pour chaque objet dnas ma feuille
        For Each Cht In wsExcel.ChartObjects
               Cht.Select
               Selection.Copy
               ActivePresentation.Slides(4).Select '4 étant le numero de ma slide 
               ActivePresentation.Slides(4).Shapes.Paste
              wsExcel.Activate
       Next Cht
       Set wsExcel2 = wbExcel.Worksheets("Nom feuille 2")
       wsExcel2.Activate
        For Each Cht In wsExcel.ChartObjects
              Cht.Select
              Selection.Copy
              ActivePresentation.Slides(4).Select
              ActivePresentation.Slides(4).Shapes.Paste
              wsExcel2.Activate
       Next Cht
       wbExcel.Close
    End Sub
    Le programme s’exécute mais persiste plusieurs Bug :
    -> lors de la recherche de graphique sur ma deuxième feuilles il identifie bien qu'il y a 2 élément graphique mais il me copie 2 fois le première élément sélectionné
    -> De temps a autre le cht.select refuse d’être identifier alors qu'il y a bien des élément graphique sur ma feuille Excel

    En l'attente d'un miracle,

    Cordialement David

  2. #2
    Membre à l'essai
    Homme Profil pro
    Esme Sudria
    Inscrit en
    Août 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Esme Sudria

    Informations forums :
    Inscription : Août 2016
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    J'ai contourné le problème en appelant directement mes graphique par leurs noms et en changent l'appel de mon fichier.
    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
    Sub Slide4_Click()
        Dim FichierA As String
        Dim wka As Excel.Workbook
        Dim Cht As ChartObject
        FichierA = "nom du fichier"
        Workbooks.Open FileName:="adresse du fichier"
        Set wka = Workbooks(FichierA)
        wka.Sheets("nom de ma feuille").Activate
        ActiveSheet.ChartObjects("Graphique 1").Activate
        Selection.Copy
        ActivePresentation.Slides(4).Select
        ActivePresentation.Slides(4).Shapes.PasteSpecial DataType:=ppPasteDefault
        wka.Sheets("nom de ma feuille2").Activate
        ActiveSheet.ChartObjects("Graphique 1").Activate
        Selection.Copy
        ActivePresentation.Slides(4).Select
        ActivePresentation.Slides(4).Shapes.PasteSpecial DataType:=ppPasteDefault
        wka.Sheets("nom de ma feuille2").Activate
        ActiveSheet.ChartObjects("Graphique 2").Activate
        Selection.Copy
        ActivePresentation.Slides(4).Select
        ActivePresentation.Slides(4).Shapes.PasteSpecial DataType:=ppPasteDefault
        wka.Close
    End Sub
    En espérant que ça puisse être utile à quelqu'un.
    Cordialement, David

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

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

Discussions similaires

  1. Ouvrir un fichier excel avec Java?
    Par pigeonfurtif dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/05/2010, 11h45
  2. [AC-2003] Ouvrir un fichier Excel avec seulement l'option IMPRIMER
    Par flet le kid dans le forum VBA Access
    Réponses: 4
    Dernier message: 24/06/2009, 17h57
  3. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08
  4. ouvrir un fichier excel avec VB6
    Par sweety2094 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/04/2007, 13h06
  5. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14

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