Génerer un fichier PowerPoint à partir de cellules Excel
Bonjour,
Je suis actuellement en train d'essayer de réaliser une macro me permettant d'exporter toutes mes données, que j'ai dans un classeur Excel, dans un fichier Powerpoint.
Ce sont des tableaux simples (donc un ensemble de cellules) que je préfère présenter sous PowerPoint. J'ai déjà trouver quelques codes mais cela ne marche pas et je n'y trouve pas de solution.
J'aimerai également que mon fichier PowerPoint s'actualise si je modifie les entrées dans mon tableur excel.
Je vous poste le code que j'ai effectué pour l'instant en m'aidant d'une discussion trouvée sur ce forum, si une ame charitable peut m'aider à le modifier pour que ca fonctionne
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
Sub TestPowerPoint()
' On déclare une variable de type Application PowerPoint
Dim PPT As PowerPoint.Application
' On crée maintenant un objet Presentation
Dim Pres As PowerPoint.Presentation
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier (Erreur)
' Et on lui dit de quelle présentation il s'agit :
Set Pres = PPT.Presentations.Open(Filename:="C:\Présentation1.ppt")
' On active, sélectionne et copie le Graphique Graphique 1 de Excel :
Sheets("Feuille1").Select
Range("A1:G3").Select
Selection.Copy
PPT.Presentations(PPT.Presentations.Count).Slides(1).Shapes.Paste ppPasteMetafilePicture
Sheets("Feuille2").Select
Range("A1:C4").Select
Selection.Copy
PPT.Presentations(PPT.Presentations.Count).Slides(2).Shapes.Paste ppPasteMetafilePicture
Sheets("Feuille3").Select
Range("A1:D39").Select
Selection.Copy
PPT.Presentations(PPT.Presentations.Count).Slides(3).Shapes.Paste ppPasteMetafilePicture
Sheets("Feuille4").Select
Range("A1:S13").Select
Selection.Copy
PPT.Presentations(PPT.Presentations.Count).Slides(4).Shapes.Paste ppPasteMetafilePicture
' On enregistre la présentation PowerPoint :
Pres.Save
' Et on quitte PowerPoint proprement :
PPT.Quit
Set PPT = Nothing
End Sub |
Avec ce code j'arrive à lancer le programme powerpoint et à copier les cellules de mon premier onglet mais après un message d'erreur s'affiche sur vba :
"Shape range : bad argument type. expected collection index (string or integer)"
enfin quand je remplace le simple Paste par PasteSpecial dans mon code il me fait plus rien du tout et m'afiche comme message d'erreur :"membre de méthode ou de donnée introuvable"
Merci pour votre aide!