Lancer une macro powerpoint avec Argument depuis Excel [Résolu]

Messages postés
4
Date d'inscription
jeudi 17 juin 2010
Dernière intervention
10 août 2011
- - Dernière réponse : GuillaumeCCF
Messages postés
4
Date d'inscription
jeudi 17 juin 2010
Dernière intervention
10 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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
4
Date d'inscription
jeudi 17 juin 2010
Dernière intervention
10 août 2011
3
Merci
Merci Le Pivert mais j'ai trouvé une autre solution, qui n'était en fait pas sorcière !!

En fait il faut écrire l'argument après une virgule, à la suite :
ppt.Run "'presentation.ppt'!image", nom_image


et dans la macro dans le fichier powerpoint déclarer:
Public sub image (nom_image as string)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Commenter la réponse de GuillaumeCCF
Messages postés
5896
Date d'inscription
jeudi 13 septembre 2007
Dernière intervention
20 mars 2019
79
0
Merci
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

A vous de la modifier suivant vos besoins
@+
Commenter la réponse de cs_Le Pivert
Messages postés
5896
Date d'inscription
jeudi 13 septembre 2007
Dernière intervention
20 mars 2019
79
0
Merci
j'ai oublié cette déclaration

Dim Sh As PowerPoint.Shape
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.