Macro pour insérer des images dans PowerPoint

mash69 Messages postés 2 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 1 août 2006 - 1 août 2006 à 16:16
mash69 Messages postés 2 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 1 août 2006 - 1 août 2006 à 17:49
Bonjour à tous,


Je monte un diaporama avec PowerPoint sous Office 2000. J'ai plus de 300 photos à placer dans des diapos successives et je cherche à simplifier le montage avec des macros. Pas de problème pour créer de nouvelles diapos, ni pour dimensionner les photos insérées avec des macros PowerPoint
Par contre, pour insérer les photos, impossible de créer ou d'écrire une macro qui permette de choisir le fichier à ouvrir. Alors que c'est possible avec Excel.
par exemple, cette macro :


Sub Macro1()
Application.Workbooks.Open Application.GetOpenFilename()
End Sub


fonctionne parfaitement sous Excel.


Recopiée dans une macro sous PowerPoint, elle plante sur .GetOpenFilename et renvoie le message d'erreur suivant :
"Erreur de compilation : membre de méthode ou de données introuvable".


J'ai essayé plusieurs procédures trouvées sur les forums ou des tutoriels, aucune ne fonctionne sous PowerPoint pour choisir le fichier à  insérer (correspondant au menu "Insertion - Image - A partir du fichier" de PowerPoint.
Quelqu'un pourrait-il me donner une explication, ou une solution
Un grand Merci d'avance


A+
Mash69

2 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
1 août 2006 à 17:19
Quand tu dis que tu l'as recopié dans une macro PowerPoint, tu l'as recopié telle quelle ? OU tu as adapté à PowerPoint ?

Parceque Application.WorkBooks ne peut pas fonctionner. Un "WorBook", c'est un fichier Excel. En PowerPoint, on parle de "Presentation"


Ensuite, tu as tout dans l'aide de PowerPoint, mais comme j'en avais galérer à l'époque pour trouver, je te donne un p'tit bout de code.

Celui-ci te permet d'ouvrir une fenêtre de sélection de fichier quand tu cliques sur un bouton (tu peux même faire de la sélection multiple si tu le souhaites) :

Private Sub CommandButton1_Click()

Dim OuvrirFichier As FileDialog
Dim FichierSélectionné As Variant

Set OuvrirFichier = Application.FileDialog( _
Type:=msoFileDialogOpen)

With OuvrirFichier
.AllowMultiSelect = True
.Show
For Each FichierSélectionné In .SelectedItems
MsgBox "Chemin du fichier sélectionné : " & FichierSélectionné
Next
End With

Set OuvrirFichier = Nothing

End Sub

La msgbox t'affiche le nom du chemin.
C'est à cet endroit là que tu vas devoir insérer un bout de code pour insérer ton image, là, j'ai récupérer la manip avec l'assistant macro :

ActiveWindow.Selection.SlideRange.Shapes.AddPicture(FileName:="C:\Documents and Settings\All Users\Documents\Mes images\Échantillons d'images\Collines.jpg", LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=264, Top:=198, Width:=192, Height:=144).Select

Tu vois donc ce qu'il va falloir faire : mettre dans une variable le chemin que tu auras récupéré dans la boite de sélection, et mettre cette variable en guise de filename.
De la même façon, tu vas pouvoir créer des variables pour dimensionner et positionner ta photo via la macro.

Tu n'as plus qu'à coder tout ça : je ne vais pas te gâcher le plaisir :p

Bon courage,

Molenn
0
mash69 Messages postés 2 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 1 août 2006
1 août 2006 à 17:49
Merci à Molenn pour ta réponse.

Je n'avais pas trouvé la subtilité de la différence entre "Workbook" et "Presentation" dans les tutoriels.  Je vais essayer les codes que tu m'as donnés.
Et je te dirais ce que ça donne.

Encore merci.
A+


Mash69
0
Rejoignez-nous