Exporter dans Powerpoint

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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....
 
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.
 
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
 
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.....
 
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....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

V
Réponses
0
Affichages
981
vincent
V
Retour