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 :

[VBA-E]Excel vers powerpoint : copier/coller spécial


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut [VBA-E]Excel vers powerpoint : copier/coller spécial
    Bonjour,


    j'ai trouvé cette macro ici meme pour copier un graphique d'Excel vers Powerpoint :

    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
    Sub insertionGraphiqueDansPowerPoint()
        'necessite d'activer la reference Microsoft Powerpoint Object Library
        Dim PPT As PowerPoint.Application
        Dim PptDoc As PowerPoint.Presentation
        Dim NbShpe As Byte
        
        Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint
        PPT.Visible = True 'l'application sera visible
        Set PptDoc = PPT.Presentations.Open("C:\monfichier.ppt") 'ouverture fichier ppt
        
        'copie du graphique nommé "Gr1",contenu  dans la feuille active
        ActiveSheet.ChartObjects("Gr1").Copy
        PptDoc.Slides(3).Shapes.Paste 'collage dans le Slide3 du document Power Point
        
        'compte le nombre de shapes dans le 3eme slide
        'le dernier objet inséré correspond à l'index le plus élevé
        NbShpe = PptDoc.Slides(3).Shapes.Count
        
        With PptDoc.Slides(3).Shapes(NbShpe)
            .Name = "monGraph" 'personnaliser le nom de l'image insérée
            .Left = 150 'position horizontale dans le slide
            .Top = 100 'position verticale dans le slide
            .Height = 300 'hauteur image
            .Width = 400 'largeur image
        End With
        
        'PptDoc.Save 'sauvegarder les modifications
        'PptDoc.Close 'fermer le document ppt
        'PPT.Quit 'fermer l'application powerPoint
    End Sub
    Déja avec cette macro, j'ai des bug, au niveau de la ligne en gras je suis obliger d'activer, puis de sélectionner le graphique pour que la "copie" marche

    Plusieurs questions se posent à moi Tout d'abord les idiotes :

    - Pour coller un graphique dans une diapo, il faut que la diapo est un "format" (au niveau de la mise en page) spécial ou pas ?

    Sinon, en VBA est-ce qu'il est possible de faire une copier/coller spécial ? pour les graphiques, si je copie colle avec cette fonction, vu que j'ai 12 graphique, la taille du fichier va etre énorme alors est-ce qu'il est possible de faire un copier/coller image (métafichier amélioré) ?

    Avec un enregistreur de macro ça marche pas

    Merci beaucoup pour vos réponses

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Comme tu peux le voir, sur le post que j'ai mis 5 minutes avant toi !!!! j'ai aussi des problèmes mais pas sur la même ligne que toi (moi c'est sur le coller spécial...
    Voici mon code :

    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
    ' On déclare une variable de type Application PowerPoint
      Dim ppt As PowerPoint.Application
      Set ppt = CreateObject("PowerPoint.Application")
      ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier 
      ' On crée maintenant un objet Presentation
      Dim Pres As PowerPoint.Presentation
      ' Et on lui dit de quelle présentation il s'agit :
      Set Pres = ppt.Presentations.Open(Filename:= "Essai.ppt")
      ' On active, sélectionne et copie le Graphique Graphique 1 de Excel :
        Feuil1.ChartObjects(Graph(1)).Activate
        ActiveChart.ChartArea.Select
        ActiveChart.ChartArea.Copy
        ' Et on le colle dans la première diapositive de la présentation :
        Pres.Slides(1).Shapes.PasteSpecial ppPasteMetafilePicture
        ActiveSheet.ChartObjects(Graph(1)).Activate
      ' On enregistre la présentation PowerPoint :
      Application.DisplayAlerts = False
      nomsave =  "Presentation" 
      Pres.SaveCopyAs nomsave
      ' Et on quitte PowerPoint proprement :
      ppt.Quit
      Set ppt = Nothing
      End Sub
    Et c'est sur la ligne en gras que j'ai l'erreur !

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Il me reconnait pas l'argument "ppPasteMetafilePicture" chez moi, ni le pastespecial qui n'est pas dans le muenu contextuel, il n'y a que le paste, quelqu'un sait pourquoi ?

    J'ai mis les 2 références de Powerpoint, et il ne reconnait quand meme pas


    Merci

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Mets PPT. devant...

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Devant quoi ?

    Mais meme dans l'exporateur d'objet, il est pas présent le PasteSpecial

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je voulais dire devant le ppPasteMetafilePicture car les constantes de PP ne sont pas connues de Excel.

    Ceci dit, je ne peux pas t'aider concernant le PasteSpecial.

Discussions similaires

  1. [XL-2007] VBA - Excel vers PowerPoint
    Par merlinus3000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2014, 13h05
  2. Liaison Excel et Powerpoint Copier/Coller particulier
    Par latthieu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/07/2011, 10h51
  3. Excel vers powerpoint : copier/coller spécial
    Par fabiencal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2009, 23h31
  4. Copiez coller d'Excel vers Powerpoint au milieu d'une zone de texte
    Par tenaka69 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 13/08/2007, 19h03
  5. [VBA Excel]probleme de copier/coller
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 31/01/2006, 14h22

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