Choisir emplacement tableaux excel lors d'un export ppt

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
MAVERICK39
Membre habitué
Membre habitué
Messages : 93
Appréciation reçue : 1
Inscrit le : 2 août 2017
Version d'Excel : 2016

Message par MAVERICK39 » 4 décembre 2018, 09:07

Bonjour à tous,

J'utilise un code (voir ci dessous) qui me permet de copier deux graphiques ainsi qu'une plage de données directement sur powerpoint.
Ce code est vraiment très pratique pour moi mais colle la plage de données au centre de la slide powerpoint.

J'aimerais pouvoir choisir l'emplacement de cette sélection sur mes slides.

Pour l'instant le code effectue un collage spécial de ma selection en mode image : .Slides(1).Shapes.PasteSpecial DataType:=2
j'ai essayé de faire comme pour les graphiques (pour lesquels je peux choisir sans soucis leur position) : Set objImageBox = .Slides(1).Shapes.PasteSpecial mais il y a une erreur de code en faisant celà.

Serait-il possible de me faire part de vos remarques ou conseils ? :P
Vous avez toujours une bonne idée à proposer ;;)
Merci d'avance et bonne journée,
Mav'
Sub Presentation_Graph()
'activer la référence à la bibliothèque Microsoft PowerPoint x.x Object Library
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Sh As PowerPoint.Shape
Dim objImageBox As PowerPoint.Shape
Dim MyChart As Chart
Dim w As Double, h As Double

Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add

With PptDoc
'Ajoute un Slide
.Slides.Add Index:=1, Layout:=ppLayoutBlank
' '24,4cm en largeur et 14,28 en hauteur
.PageSetup.SlideWidth = Application.CentimetersToPoints(24.5)
.PageSetup.SlideHeight = Application.CentimetersToPoints(14.28)
w = .PageSetup.SlideWidth ' largeur du Slide
h = .PageSetup.SlideHeight ' hauteur du Slide


Sheets("sheet1").Activate
chemin = ThisWorkbook.Path & "\graphique2.jpg"
ActiveSheet.ChartObjects(1).Chart.Export Filename:=chemin, filtername:="JPG" ' enregistre le graphique en .jpg
Set objImageBox = .Slides(1).Shapes.AddPicture(chemin, msoCTrue, msoCTrue, 10, 50, 450, 200)
objImageBox.Left = 10 '(w / 2) - (objImageBox.Width / 2) 'aligne la graph au centre de la diapo
'objImageBox.Top = Sh.Top + Sh.Height + 10 'aligne le graph sous le textbox

chemin = ThisWorkbook.Path & "\graphique3.jpg"
ActiveSheet.ChartObjects(2).Chart.Export Filename:=chemin, filtername:="JPG" ' enregistre le graphique en .jpg
Set objImageBox = .Slides(1).Shapes.AddPicture(chemin, msoCTrue, msoCTrue, 10, 50, 150, 150)
objImageBox.Left = 470
'objImageBox.Top = Sh.Top + Sh.Height + 10 'aligne le graph sous le textbox


ActiveSheet.Range("E2:G4").Copy ' titre a copier coller en haut de la slide 1
.Slides(1).Shapes.PasteSpecial DataType:=2

End With

Kill (chemin) 'supprime le fichier image

End Sub
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message