Programmation VB Power point - VB/VBA/VBS - Programmation
MarshPosté le 26-11-2004 à 14:41:29
Salut,
Je cherche des trucs de programmation en vb Power point. A mon taff, on m'a demandé d'automatiser la mise à jour d'un fichier Poxer Point (PPt).Pour ce faire,je faisais les graphs sous excel, je faisais une macro qui rentrait les données (à partir d'une autre base) et après j'activé l'application Power point et j'avais trouvé comment copier coller en image ma page de graph (feuille) dans PPT.
Pour ceux que ça interresse, il faut avant cocher dans les références : "Microsoft Power point Object Library"
Sub Excel_PP()
Dim PPApp As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Set PPApp = CreateObject("Powerpoint.Application" ) 'la on ouvre Power Point With PPApp .Visible = True .Activate End With
'on ouvre le fichier PPT 'chemin = ton dossier PPApp.Presentations.Open Filename:=chemin & "maquette ppt.ppt" Set PPPres = PPApp.Presentations.Item(1)
'ici on copie la plage de donnée de excel Range("A1:F27" ).Select Selection.CopyPicture xlPrinter 'on active le slide du ppt PPPres.Slides(1).Select PPPres.Slides(sd).Shapes.Paste n = PPPres.Slides(sd).Shapes.Count 'comme on vient de coller un truc le numéro de l'objet que l'on à fait est le dernier, il faut donc le trouver PPPres.Slides(1).Shapes.Item(n).Select 'tout ca c'est pour mettre l'image en haut à gauche du slide. PPPres.Slides(1).Shapes.Item(n).LockAspectRatio = msoTrue PPPres.Slides(1).Shapes.Item(n).Left = 0# ' bord gauche PPPres.Slides(1).Shapes.Item(n).Top = 480# 'bord haut PPPres.Slides(1).Shapes.Item(n).ZOrder msoSendToBack
'on sauve le ppt PPPres.Save
End Sub
Le problème c'est que tes graphs ainsi collés sont des images, et on ne peux plus les modifier. Le truc c'est que maintenant la personne pour qui je fais ça, elle veut pouvoir modifier les graphs... et donc il faut modifier des graphs dans le fichier power point. Et ça je n'ai aucune idée de comment on fait.
Marsh Posté le 26-11-2004 à 14:41:29
Salut,
Je cherche des trucs de programmation en vb Power point.
A mon taff, on m'a demandé d'automatiser la mise à jour d'un fichier Poxer Point (PPt).Pour ce faire,je faisais les graphs sous excel, je faisais une macro qui rentrait les données (à partir d'une autre base) et après j'activé l'application Power point et j'avais trouvé comment copier coller en image ma page de graph (feuille) dans PPT.
Pour ceux que ça interresse, il faut avant cocher dans les références : "Microsoft Power point Object Library"
Sub Excel_PP()
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Set PPApp = CreateObject("Powerpoint.Application" )
'la on ouvre Power Point
With PPApp
.Visible = True
.Activate
End With
'on ouvre le fichier PPT
'chemin = ton dossier
PPApp.Presentations.Open Filename:=chemin & "maquette ppt.ppt"
Set PPPres = PPApp.Presentations.Item(1)
'ici on copie la plage de donnée de excel
Range("A1:F27" ).Select
Selection.CopyPicture xlPrinter
'on active le slide du ppt
PPPres.Slides(1).Select
PPPres.Slides(sd).Shapes.Paste
n = PPPres.Slides(sd).Shapes.Count
'comme on vient de coller un truc le numéro de l'objet que l'on à fait est le dernier, il faut donc le trouver
PPPres.Slides(1).Shapes.Item(n).Select
'tout ca c'est pour mettre l'image en haut à gauche du slide.
PPPres.Slides(1).Shapes.Item(n).LockAspectRatio = msoTrue
PPPres.Slides(1).Shapes.Item(n).Left = 0# ' bord gauche
PPPres.Slides(1).Shapes.Item(n).Top = 480# 'bord haut
PPPres.Slides(1).Shapes.Item(n).ZOrder msoSendToBack
'on sauve le ppt
PPPres.Save
End Sub
Le problème c'est que tes graphs ainsi collés sont des images, et on ne peux plus les modifier.
Le truc c'est que maintenant la personne pour qui je fais ça, elle veut pouvoir modifier les graphs... et donc il faut modifier des graphs dans le fichier power point.
Et ça je n'ai aucune idée de comment on fait.
Merci de votre aide..
Yann