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

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

Merci GuillaumeCCF 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 82 internautes ce mois-ci

Commenter la réponse de GuillaumeCCF
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 17 juin 2010 à 18:35
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
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 17 juin 2010 à 18:38
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.