Faire un collage spécial image dans powerpoint depuis excel

Mr Smoking Messages postés 2 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 26 août 2004 - 26 août 2004 à 11:37
Mr Smoking Messages postés 2 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 26 août 2004 - 26 août 2004 à 11:58
Bonjour à tous !

J'essaye de faire une macro qui permettrait d'exporter un classeur excel vers une présentation power point.

J'arrive à basculer d'XL à PPT, la macro que j'ai faite fait des collages classiques.

Je voudrais en fait qu'elle fasse des "collages spécial image" mais je ne trouve pas la formule vba (malgré de nombreuses recherches). j'ai essayé avec l'enregistreur de macro PPT et il ne m'affiche rien...

Est ce que quelqu'un pourrait m'aider ?

Merci d'avance !

Pour info, voici la macro (ici, c'est juste un copier coller d'un graph)

Sub TestPowerPoint()

' 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 (Erreur)

' 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:="C:\Document\Nico\essai.ppt")

' On active, sélectionne et copie le Graphique Graphique 1 de Excel :
ActiveSheet.ChartObjects("Graphique 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.Paste

' On enregistre la présentation PowerPoint :
Pres.Save

' Et on quitte PowerPoint proprement :
ppt.Quit

Set ppt = Nothing
End Sub

1 réponse

Mr Smoking Messages postés 2 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 26 août 2004
26 août 2004 à 11:58
Ayé j'ai trouvé la solution : il faut en fait faire la macro depuis powerpoint comme ca, on peut utiliser la fonction COPYPICTURE

j'ai trouvé la solution ici :
http://www.mvps.org/skp/ppt00036.htm

maintenant, on peut remplacer le ChartObjects(1) par des Range, ça marche très bien.
0
Rejoignez-nous