GuillaumeCCF
Messages postés4Date d'inscriptionjeudi 17 juin 2010StatutMembreDernière intervention10 août 2011
-
17 juin 2010 à 18:06
GuillaumeCCF
Messages postés4Date d'inscriptionjeudi 17 juin 2010StatutMembreDernière intervention10 août 2011
-
18 juin 2010 à 18:15
Bonjour à tous,
Première fois que je ne trouve pas la réponse à une question que je me pose en VB, alors je me lance sur le Forum.
Je suis sur Excel, dans une macro qui doit lancer une autre macro, elle sur Powerpoint :
ppt.Run "'presentation.ppt'!image"
Avec ce code pas de problème ma macro powerpoint fonctionne (en gros elle importe une image)
Mon problème est que je voudrais qu'elle importe une image bien précise, dont je lui aurait donné le nom en Argument. Donc j'ai modifié ma macro ppt en private sub(nom_image as string) et je partais sur un code du style :
ppt.Run "'presentation.ppt'!image(nom_image)"
Mais j'ai une message d'erreur sur cette ligne, j'avais déjà eu des messages d'erreur a propos de version d'Excel et Ppt, que j'ai résolu, donc ça doit être un autre problème, surement ma façon de faire passer l'argument à ma macro powerpoint...
Je vous remercie d'avance de l'aide que vous pourrez m'apporter
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 17 juin 2010 à 18:35
Bonjour,
j'ai fait cela vite fait à ma manière et cela fonctionne:
Necessite le référence 'Microsoft PowerPoint 11.0 Object Library
Voici le code qui crée une présentation, insére une image centrée et enregistre la présentation dans le dossier Excel:
Sub Inserer_Image()
Dim PptDoc As PowerPoint.Presentation
Dim PptApp As Variant
Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add
With PptDoc
'--- Ajoute un Slide
.Slides.Add Index:=1, Layout:=ppLayoutBlank
Set Sh = .Slides(1).Shapes.AddPicture(FileName:="Chemin du fichier image", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=148, Top:=165, Width:=425, Height:=211)'insere l'image au centre
'Sauvegarde la présentation
'dans le même répertoire que le classeur excel contenant la macro.
PptDoc.SaveAs FileName:=ThisWorkbook.Path & "" & "NouvellePresentation.ppt"
'ferme la presentation
PptDoc.Close
'ferme powerpoint
PptApp.Quit
MsgBox "Opération terminée."
End With
End Sub
cs_Le Pivert
Messages postés7899Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention21 septembre 2023137 17 juin 2010 à 18:38