VBA exporter tableur et graphique dans powerpoint
Bonjour à tous,
je fais appel à vos connaissances car j'aimerais exporter directement un tableau et deux graphiques dans un fichier powerpoint.
- L'idée sera d'insérer 2 diapos dans un ppt qui ne contient qu'une page de garde
- copier le tableau excel (B1: J16)
- coller ce tableau dans la diapo 2 du ppt au format image au centre de la diapo
- Copier le graphique histogramme puis coller dans la diapo 3 du ppt au format image
- Copier le graphique camembert puis coller dans la diapo 3 du ppt au format image
J'ai essayé d'expliquer les différentes étapes qui devraient arriver à solutionner mon problème mais je n'ai aucune connaissance pour réaliser ces étapes avec VBA
Si quelqu'un a une idée, je suis preneur d'une solution.
Merci d'avance pour votre aide précieuse !
Mav'
bonjour
dans PP, menu Insérer Objet devrait suffire, sans VBA
amitiés
Bonjour jmd et merci pour la réponse rapide.
Effectivement il est très simple d'ajouter un objet ou même de copier coller un graphique mais l'idée serait d'automatiser la tâche :
J'ai fait en parallèle un fichier vba très simple (à mon niveau) qui fait varier les inputs d'une simulation.
le tableau et les deux graphiques sont les résultats de cette simulation.
A terme, j'aimerais pouvoir faire une dizaine de scénarios (boucle For i de 1 à10)
et pour éviter d'insèrer plein de graph et tableaux, je pensais vous solliciter pour automatiser cette tâche.
Je voulais donc insérer la partie VBA dédiée à l'export vers ppt dans ma boucle FOR afin de créer 2 nouvelles diapos pour chaque scénario et de coller a chaque fois les graph et tableaux.
Je ne sais pas si j'ai été explicite et je ne sais pas seulement si c'est faisable avec vba ?
Merci d'avance pour votre aide !
Maverick
re
ahhhhhh !
il te faut alors Power BI Desktop gratuit !
le roi des présentations et simulations basées sur des paramètres
https://guyinacube.com/2017/05/dynamic-power-bi-reports-using-parameters/
voir les tutos sur le web
amitiés
Merci pour le retour.
Vais je pouvoir solutionner mon probleme avec Power BI.
à savoir extraire les graphiques à chaque changement d'input ? Power BI s'intégrera dans mon code actuel pour faire l'étape 4) ci dessous ?
Pour l'instant mon excel :
1 ) change la valeur d'input
2) actualise les TCD du fichiers
3) trace les tableaux et graph en fonction des résultats des TCD
J'aimerais ajouter les fonctions
4) exporte les graphiques pour chaque valeur testée dans un powerpoint
Sub scenario()
For i = 1 To 5
Sheets("pvsyst").Range("B3") = Sheets("comparaison sce").Cells(2, 4 + i)
Sheets("batterie").Range("B9") = Sheets("comparaison sce").Cells(3, 4 + i)
Sheets("batterie").Range("B11") = Sheets("comparaison sce").Cells(4, 4 + i)
Sheets("batterie").Range("B5") = Sheets("comparaison sce").Cells(5, 4 + i)
Sheets("batterie").Range("B7") = Sheets("comparaison sce").Cells(6, 4 + i)
ActiveWorkbook.RefreshAll
Sheets("comparaison sce").Cells(7, 4 + i) = Sheets("bilan recap").Range("C100")
Sheets("comparaison sce").Cells(8, 4 + i) = Sheets("bilan recap").Range("C101")
Sheets("comparaison sce").Cells(9, 4 + i) = Sheets("bilan recap").Range("F49")
Sheets("comparaison sce").Cells(10, 4 + i) = Sheets("batterie").Range("J7")
Sheets("comparaison sce").Cells(11, 4 + i) = Sheets("batterie").Range("J9")
' copier coller le tableau de la feuille "bilan recap" sur la slide (2i) d'un power point au format image
' copier coller le graphique de la feuille "bilan recap" sur la slide (2i+1) d'un power point au format image
Next i
End Sub
Il me reste à faire les deux dernières lignes en commentaires qui correspondent à l'export sur un ppt des graphiques et tableaux
Si quelqu'un peut me m'aider dans cet exercice, ce serait vraiment un sauveur pour moi
Merci d'avance
Rebonjour , j'ai réussi en trouvant des morceaux de codes sur l'internet.
Le seul problème concerne l'affichage.
la partie E2:G5 devrait se situer tout en haut de la diapositive mais celle-ci se superpose avec l'autre tableau copié (B10:I25)
Une solution pour m'aider à avancer svp ?
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
.Slides.Add Index:=2, 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("bilan recap").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, 200, 200)
objImageBox.Left = 470
'objImageBox.Top = Sh.Top + Sh.Height + 10 'aligne le graph sous le textbox
ActiveSheet.Range("B10:I25").Copy
.Slides(2).Shapes.PasteSpecial DataType:=2
ActiveSheet.Range("E2:G5").Copy
.Slides(2).Shapes.PasteSpecial DataType:=2
End With
Kill (chemin) 'supprime le fichier image
End Sub
Merci pour le retour.
Vais je pouvoir solutionner mon probleme avec Power BI.
à savoir extraire les graphiques à chaque changement d'input ? Power BI s'intégrera dans mon code actuel pour faire l'étape 4) ci dessous ?
re
PBI ira lire tes données, et faire des présentations
tu pourras y modifier des paramètres pour tes simulations
tu pourras faire des pdf (ctl+F)
tu pourras mettre ton PBI sur le cloud (payant, pas cher), bien mieux que PPT car il reste interactif concernant la modification des paramètres.
mais je te déconseille de tenter de "remettre" dans Excel ou dans PPT (ou alors il y a une méthode que je ne connais pas)
amitiés
Merci pour tes réponses.
Je vais ouvrir un nouveau post car mon problème a légèrement changé.
J'ai réussi à faire mon export sur PowerPoint comme désiré mais l'emplacement du tableau est au centre...
Je regarde avec attention PBI afin d'en apprendre plus sur cet outils qui m'a l'air très complet d'apres mes premières recherches
Merci JMD pour ton temps,
A+
Mav