Exporter dans Powerpoint

  • Initiateur de la discussion hallucine
  • Date de début
H

hallucine

Guest
Bonjour,

J'ai un petit problème...
Depuis Excel, j'ouvre en VBA PowerPoint afin de faire un copier coller d'un graphique (toujours en VBA).

J'y arrive, mais d'une part cela copie le graphique avec Excel (c'est à dire que si je double clique sur le graphique dans PowerPoint, Excel s'ouvre dans PowerPoint...) alors que ce que je voudrais c'est juste copier le graphique en tant qu'image....

D'autre part avec mon copier coller actuel, cela provoque 9x sur 10 une erreur d'exécution 2147188160 (80048240) : Shapes (unknown member) Invalid request. The specified Data Type is unavailable...

Et de temps en temps... ça passe... Avec le même code !

Merci de m'aider....
 

Marc_du_78

XLDnaute Accro
Bonsoir hallucine,
Je crois, car cela fait bien longtemps que je n'ai utilisé Powerpoint, qu'il faut d'abord insérer depuis Powerpoint une feuille excel par : Insertion, Objet, Feuille de calcul
et ensuite tu colle ta copie sur ta feuille qui normalement doit être vierge.
De ce fait la feuille n'est plus liées au classeur.
Merci de me tenir au courant et je te souhaite une bonne soirée.
 

MichelXld

XLDnaute Barbatruc
bonsoir Hallucine , bonsoir cher Marc

j'espere que cet exemple pourra t'aider

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
Set PptDoc = PPT.Presentations.Open('C:\\\\\\\\maPresentation.ppt') 'ouverture fichier ppt

ActiveSheet.ChartObjects('Graphique 1').Copy 'copie du 'Graphique 1' de la feuille active
PptDoc.Slides(3).Shapes.PasteSpecial ppPasteMetafilePicture '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



je ne suis pas sur que PasteSpecial fonctionne pour des versions d'Excel anterieures à 2002


bonne soirée
MichelXld
 
H

hallucine

Guest
Je sais pas si ton truc fonctionne mais entre temps j'ai trouvé :
Pres.Slides(no).Shapes.PasteSpecial ppPasteMetafilePicture

Par contre l'erreur continue 9x sur 10... et ça je comprends pas.....
 
H

hallucine

Guest
Tout d'abord merci à tous pour votre aide.

Concernant le messag ed'eje ne sais pas trop car j'ai le SP3 et je n'ai pas l'événement PresentationOpen mais plutôt :

Dim Pres As PowerPoint.Presentation
Set Pres = ppt.Presentations.Open(Filename:='Canevas.ppt')
De plus, le messag ed'erreur n'intervient pas sur l'ouverture du fichier mais sur le collage des graphiques.....


Les mystères de l'informatique sont impénétrables....
 

Discussions similaires

Réponses
13
Affichages
1 K

Statistiques des forums

Discussions
312 694
Messages
2 091 040
Membres
104 744
dernier inscrit
paporchet