Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 14h37   #1
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 128
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 128
Points : 35
Points : 35
Par défaut Macro Insertion Image depuis Excel

bonjour à tous,

j'avance (péniblement, mais bon) sur une macro excel qui génère un pptx, avec des données, et je veux également insérer l'image correspondant à ces données dans mon slide
j'ai fait dans le pptx un tableau afin de recevoir chaque donnée dans des cellules et je veux dans la dernière ligne du tableau insérer une image
mais je sèche sur la syntaxe à mettre :

.Cell(2, 1).Shape.Pictures.Insert = Tablo(x, 4) 'chemin de la photo

j'obtiens l'erreur 438 "propriété ou méthode non gérée par cet objet"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
With Sheets("sheet1")
    Tablo = Range("A2:D" & Range("A65000").End(xlUp).Row).Value
End With
 
Set objPPT = CreateObject("Powerpoint.Application")
objPPT.Visible = True
 
Set objPres = objPPT.Presentations.Open(ThisWorkbook.Path & "\note1.pptx")
objPres.SaveAs ThisWorkbook.Path & "\test.ppt"
 
 
 
For i = 1 To UBound(Tablo)
    If Tablo(i, 3) = 0 And Tablo(i, 4) = 0 Then
 
    Set objSld = objPres.Slides(1).Duplicate
    For Each objShp In objSld.Shapes
        If objShp.HasTable Then
            With objShp.Table
                x = x + 1
                .Cell(1, 1).Shape.TextFrame.TextRange.Text = Tablo(x, 1) 'nom
                .Cell(1, 2).Shape.TextFrame.TextRange.Text = Tablo(x, 2) 'prénom
                .Cell(1, 3).Shape.TextFrame.TextRange.Text = Tablo(x, 3) 'âge
                .Cell(2, 1).Shape.Pictures.Insert = Tablo(x, 4) 'chemin de la photo
            End With
        End If
    Next
    End If
Next
 
objPres.Slides(1).Delete
objPres.Save
objPres.Close
 
End Sub
ma feuille est composée comme suit :
col A = nom
col B = prénom
col C = âge
col D = chemin de l'image

quelqu'un a-t-il une piste pour résoudre ce problème ?
d'avance merci !
fidecourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h59   #2
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
bjr,

voir la faq :
http://powerpoint.developpez.com/faq...utimagetableau
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h38   #3
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 128
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 128
Points : 35
Points : 35
merci Arkham46,

merci pour la piste, ça marche lorsque je mets le chemin complet de l'image :

.Cell(2, 1).Shape.Fill.UserPicture ("F:\Devis 2011\images\image-1.jpg")

mais si je veux lui mettre le chemin de l'image qui se trouve dans mon tableau à chaque ligne :

.Cell(2, 1).Shape.Fill.UserPicture (Tablo(x, 4))

dans la cellule D de mon tableau, à chaque ligne j'ai le lien vers l'image (chemin relatif : \images\image-1.jpg par exemple)

j'ai l'erreur d'exécution : la méthode "UserPicture" de l'objet "FillFormat" a échoué

je suppose qu'il y a une subtilité dans la syntaxe qui m'échappe !
d'avance merci pour ton éclairage
fidecourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 17h46   #4
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
si c'est un chemin relatif il faut concatener avec le chemin des images pour obtenir le chemin complet
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 18h08   #5
Nouveau Membre du Club
 
Inscription : juin 2006
Messages : 128
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 128
Points : 35
Points : 35
merci, merci, merci !!!
ça fonctionne parfaitement
fidecourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h43.


 
 
 
 
Partenaires

Hébergement Web