VBA Insérer une Image(qui provient d'un site internet) dans un controle

Hellboy

XLDnaute Accro
Bonjour,

J'essaie de d'accomplir ceci:

a = "http://images.static-bluray.com/movies/covers/7716_large.jpg"
Me.Image1.Picture = LoadPicture(a, 100, 100)

Le problème que je rencontre est que la propriété de "loadPicture" veut obtenir un chemin d'accès "Pc". Mais ce que je désir accomplir, est que je puisse afficher une image provenant du net.

Est-ce que quelqu'un sait comment faire pour contourner ?
Merci !

Philippe
 

Staple1600

XLDnaute Barbatruc
Re : VBA Insérer une Image(qui provient d'un site internet) dans un controle

Bonsoir à tous

Hellboy
Quid du copyright ?
Images libres de droit ou pas ?

Et voir également si ton fil ne serait pas en porte à faux avec ceci ?
(extrait de la charte du forum)
8 - Les demandes de développements relatives à des extractions de données sur des sites interdisant ces pratiques dans leurs conditions générales sont interdites.
 

Hellboy

XLDnaute Accro
Re : VBA Insérer une Image(qui provient d'un site internet) dans un controle

Bonsoir à tous

Hellboy
Quid du copyright ?
Images libres de droit ou pas ?

Et voir également si ton fil ne serait pas en porte à faux avec ceci ?
(extrait de la charte du forum)

Bonsoir JM,

Cet usage est perso. J'inscris la liste de mes BluRay( tous acheté... mon dada 291 à ce jour) en Excel et je la partage avec un ami qui en retour fait la même chose. Pour rendre plus agréable ce partage, je copie le lien de la version de mon film en annotation hypertlien puisé sur du site Blu-ray.com Ceci permet à mon ami de voir rapidement la référence de ce qui l'intéresse. J'ai récemment ajouté (petit truc) la photo associé avec le commentaire dans la cellule Excel. Ce pendant, voulant aller encore plus loin, je souhaite mettre le tout dans une forme et faire tel que vue dans ma demande initiale.

Alors est-ce que je contrevient a quoique ce soit ?
Merci !

Philippe
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : VBA Insérer une Image(qui provient d'un site internet) dans un controle

Bonjour,

Exemple en PJ

http://boisgontierjacques.free.fr/fichiers/Images/ImportImagesWeb.xls

Code:
Private Sub UserForm_Initialize()
  Set f = Sheets("feuil1")
  s = "http://images.static-bluray.com/movies/covers/7716_large.jpg"
  Set img = ActiveSheet.Pictures.Insert(s)
  img.Left = 1
  img.Top = 1
  img.CopyPicture
  f.ChartObjects.Add(0, 0, img.Width, img.Height).Chart.Paste
  f.ChartObjects(1).Chart.Export Filename:="monimage.jpg"
  f.Shapes(f.Shapes.Count).Delete
  Me.Image1.PictureSizeMode = fmPictureSizeModeZoom
  Me.Image1.Picture = LoadPicture("monimage.jpg")
  Kill "monimage.jpg"
  img.Delete
End Sub

JB
 

Pièces jointes

  • ImportImagesWebx.xls
    48 KB · Affichages: 59
Dernière édition:

Hellboy

XLDnaute Accro
Re : VBA Insérer une Image(qui provient d'un site internet) dans un controle

Bonjour,

Je voulais juste vous partager mes ressentes trouvailles. Je n'aimais pas l'idée de creer pour ensuite éliminer afin d,obtenir ce que je cherchais à accomplir.

Premièrement, ceci ne se fait pas et j'ai trouvé la confirmation sur 2 forums de discussion indépendant.
a = "http://images.static-bluray.com/movies/covers/7716_large.jpg"
Me.Image1.Picture = LoadPicture(a, 100, 100)

Ensuite, avec quelques recherches supplémentaire, à l'aide d'une fonction API j'ai pu accomplir plus directement mon objectif.
Comment ça marche...ça c'est un autre sujet. ;-)

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As GUID, ByRef ppvRet As IPicture) As Long

Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture

Dim uID As GUID

With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(3) = &HAA
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With

Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)

Bonne Journée(soirée pour mes cousins) !
 

Hellboy

XLDnaute Accro
Re : VBA Insérer une Image(qui provient d'un site internet) dans un controle

Bonjour,

Je voulais juste vous partager mes ressentes trouvailles. Je n'aimais pas l'idée de creer pour ensuite éliminer afin d,obtenir ce que je cherchais à accomplir.

Premièrement, ceci ne se fait pas et j'ai trouvé la confirmation sur 2 forums de discussion indépendant.
a = "http://images.static-bluray.com/movies/covers/7716_large.jpg"
Me.Image1.Picture = LoadPicture(a, 100, 100)

Ensuite, avec quelques recherches supplémentaire, à l'aide d'une fonction API j'ai pu accomplir plus directement mon objectif.
Comment ça marche...ça c'est un autre sujet. ;-)

Private Declare Function OleLoadPicturePath Lib "oleaut32.dll" (ByVal szURLorPath As Long, ByVal punkCaller As Long, ByVal dwReserved As Long, ByVal clrReserved As OLE_COLOR, ByRef riid As GUID, ByRef ppvRet As IPicture) As Long

Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

' Ref. de l'adresse du site internet
Me.Image1.Picture = GetImage(Cells(Me.ListBox1.ListIndex + 2, 5).Value2)


Public Function GetImage(hURLorPath As String, Optional TransparentColor As OLE_COLOR = vbWhite) As StdPicture

Dim uID As GUID

With uID ' // StdPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
.Data1 = &H7BF80980
.Data2 = &HBF32
.Data3 = &H101A
.Data4(0) = &H8B
.Data4(1) = &HBB
.Data4(3) = &HAA
.Data4(5) = &H30
.Data4(6) = &HC
.Data4(7) = &HAB
End With

Call OleLoadPicturePath(StrPtr(hURLorPath), 0&, 0&, TransparentColor, uID, GetImage)

Bonne Journée(soirée pour mes cousins) !
 

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67