[VBA-E]Excel vers powerpoint : copier/coller spécial
:D Bonjour,
j'ai trouvé cette macro ici meme pour copier un graphique d'Excel vers Powerpoint :
Code:
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 8O 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 :mrgreen: :
- 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
:D