VBA : Intégrer image web dans feuille Excel

Bonjour,

Voici mon problème :

J'aimerai pouvoir me servir de l'image de ce site web :

http://finviz.com/quote.ashx?t=A&ty=c&ta=1&p=d&b=1

Image qui va nécessairement changer étant donné que l'utilisateur de mon code pourra choisir d'autres valeurs (je ne sais pas si ça a une importance majeure pour le code).

Ainsi, je souhaiterais intégrer cette image d'une manière ou d'une autre dans ma feuille excel, mais je ne sais pas comment coder cela.

J'ai il me semble le choix entre enregistrer l'image et l'incorporer dans la feuille.

Sinon je peux éventuellement copier l'image, et la coller sur ma feuille à un emplacement précis (moins propre je pense).

Toujours étant que je ne sais pas comment extraire cette image d'une manière ou d'une autre.

Pourriez-vous s'il vous plaît m'éclairer à ce sujet ?

Cordialement,

Alex

Bonjour Alex

A essayer

Sub GetShapeFromWeb(strShpUrl As String, rngTarget As Range)
    Dim shp As Shape

    With rngTarget
        With .Parent
            .Pictures.Insert strShpUrl
            Set shp = .Shapes(.Shapes.Count)
        End With
        shp.Left = .Left
        shp.Top = .Top
    End With

    Set shp = Nothing
End Sub

Sub Test()
    Call GetShapeFromWeb("http://finviz.com/chart.ashx?t=A&ty=c&ta=1&p=d&s=l", Feuil1.Range("A1"))
End Sub

Super code, merci !

Serait-ce possible que vous le commentiez ? Je ne saisis pas la nécessite de chaque instruction.

De plus, je rencontre un léger soucis :

L'emplacement que je choisi (en l'occurrence Range("D1")) ne fonctionne pas pour la feuille qui m'intéresse. A la place, la macro VBA place le graphique à un endroit dénué de sens (le coin supérieur gauche au milieu de la cellule A3 à peu près).

En revanche, lorsque je sélectionne une autre feuille que celle qui m'intéresse, le graphique est positionné au bon endroit (soit celui que j'ai défini dans la macro).

Avez-vous une idée de comment résoudre ce problème ?

Bonsoir Alex

Non je ne pourrais te commenter cette macro

C'est celle que j'utilise moi même sans aucun souci mais je l'ai trouvée sur ce site, sorry

Pour ce qui est de l'emplacement, tu n'aurais pas des cellules fusionnées à tout hasard ?

[edit]

En me penchant sur tes questions, je viens de trouver une macro vba beaucoup plus simple de jacques boisgontier

Sub insertion()
   URL = "http://finviz.com/chart.ashx?t=A&ty=c&ta=1&p=d&s=l"
   Set img = ActiveSheet.Pictures.Insert(URL)
   img.Left = [B2].Left
   img.Top = [B2].Top
End Sub

Par contre, si tu mets à jour, il me semble qu'à chaque clics les images se superposent

Tu dois pouvoir adapter en chargeant l'image à l'ouverture du fichier

Et en l'a supprimant à la fermeture

A voir

358imgurl.xlsm (15.47 Ko)

Parfait, ça marche !

Et le code est bien plus simple à comprendre. Le soucis concernant l'emplacement est également résolu.

Merci !

Concernant la superposition de l'image, j'ai intégré ce code afin de supprimer les images existantes à cet emplacement :

For Each s In ActiveSheet.Shapes
    If Not Intersect(s.TopLeftCell, Range("$D$1")) Is Nothing Then
        s.Delete
    End If
Next s

Tout est en place et rien n'est superposé.

Un grand merci Bambi !

Très bonne fin de soirée,

Alex

Rechercher des sujets similaires à "vba integrer image web feuille"