Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insérer une image dynamique

4 réponses
Avatar
blaise
Bonjour,

Un coll=E8gue me pose une colle :=20

=AB

Connais-tu une m=E9thode simple pour ins=E9rer des images dans Excel via un=
e URL ?

En fait, l=92image sera dynamique. C'est-=E0-dire qu=92elle pourrait =EAtre=
mise =E0 jour et =E9cras=E9e par la nouvelle r=E9guli=E8rement.

C=92est pour cela que je ne peux pas int=E9grer l=92image =91en dur=92 dire=
ctement dans Excel.

=BB

Bien =E0 vous,

Blaise

4 réponses

Avatar
Blaise
Le mardi 26 juin 2012 13:10:22 UTC+2, Blaise a écrit :
Bonjour,

Un collègue me pose une colle :

«

Connais-tu une méthode simple pour insérer des images dans Excel via une URL ?

En fait, l’image sera dynamique. C'est-à-dire qu’elle pourrait êt re mise à jour et écrasée par la nouvelle régulièrement.

C’est pour cela que je ne peux pas intégrer l’image ‘en dur’ di rectement dans Excel.

»

Bien à vous,

Blaise



VBA admis !
Avatar
isabelle
bonjour Blaise,

une possibilité serait d'utiliser un contrôle Image,
si le fichier image principal ne change pas de nom et d'emplacement
et que la nouvelle image est enregistrer sous le nom du fichier principal et au même emplacement.

Private Sub Image1_Click()
MonImage
End Sub

Sub MonImage()
With Sheets("Feuil1").Image1
.Picture = LoadPicture("c:tempbaleine à bosse.jpg")
End With
End Sub

j'ai utilisé l'événement Image1_Click, mais ça pourrait être n'importe lequel des événements.



--
isabelle



Le 2012-06-26 08:57, Blaise a écrit :
Le mardi 26 juin 2012 13:10:22 UTC+2, Blaise a écrit :
Bonjour,

Un collègue me pose une colle :

«

Connais-tu une méthode simple pour insérer des images dans Excel via une URL ?

En fait, l’image sera dynamique. C'est-à-dire qu’elle pourrait être mise à jour et écrasée par la nouvelle régulièrement.

C’est pour cela que je ne peux pas intégrer l’image ‘en dur’ directement dans Excel.

»

Bien à vous,

Blaise



VBA admis !
Avatar
Blaise
Bonjour Isabelle,
Je lui ai donné cette piste ci :

Une sub pour insérer l'image et surtout pour la nommer Largement inspir ée par MSDN

Une function "volatile" qui met à jour l'image. Y a qu'a changer le chem in par une url.

Cdt
Blaise


Sub InsertionImage()
Dim Emplacement As Range
Dim Img As Object
Dim ShapeObj As Shape

'Boucle pour supprimer l'ancienne image
For Each ShapeObj In ActiveSheet.Shapes
If ShapeObj.Name = "Cible" Then ActiveSheet.Shapes("Cible").Delet e
Next ShapeObj

If Application.Dialogs(xlDialogInsertPicture).Show Then
'Définit l'emplacement de l'image
Set Emplacement = Range("D3:E8")

Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)

With Img.ShapeRange
'Nommer l'image insérée (Pour la supprimer plus facilement ensuite)
.Name = "Cible"
.LockAspectRatio = msoFalse
.Left = Emplacement.Left
.Top = Emplacement.Top
.Height = Emplacement.Height
.Width = Emplacement.Width
End With

Else
MsgBox "Insertion d'image interrompue."
End If

End Sub

Function Image_Volatile()
Application.Volatile
Dim Emplacement As Range
Dim Img As Object
Dim ShapeObj As Shape
Dim sNF As String
Dim rL As Single, rT As Single, rH As Single, rW As Single

'Boucle pour supprimer l'ancienne image
For Each ShapeObj In ActiveSheet.Shapes
If ShapeObj.Name = "Cible" Then
With ShapeObj
sNF = .AlternativeText
rL = .Left
rT = .Top
rW = .Width
rH = .Height
.Delete
End With
End If
Next ShapeObj

ActiveSheet.Shapes.AddPicture sNF, True, True, rL, rT, rW, rH
Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
With Img.ShapeRange
'Nommer l'image insérée (Pour la supprimer plus facilement ensu ite)
.Name = "Cible"
.LockAspectRatio = msoFalse
End With
End Function
Avatar
MichD
Bonjour,


With ActiveSheet.Pictures
.Insert("http://www.abc.com/1234.jpg")
End With



MichD
---------------------------------------------------------------