VBA - Insérer une image

Bonjour,

J'ai un code qui fonctionne très bien pour pouvoir insérer une image dans le fichier ci-joint (cliquer dans G5:K30) cependant si je reclique sur l'image et que je fais annuler sur l'explorateur de fichiers, l'image initialement insérée disparait. Je souhaiterais pouvoir la garder affichée lorsque je clique sur annuler.

Pouvez-vous m'aider?

Meilleures salutations,

Thierry

12test.xlsm (26.08 Ko)

Bonjour,

Je ne pense pas que ce soit possible (avec mes petites conaissances).

Mais si c'est le faite de stopper les clics involontaire sur ce bouton, tu peux inserer une ligne de code qui renomme l'image une fois l'image mise en place.

Option Explicit

Private Sub Image1_Click()
' Routing pour insérer image dans un contrôle de formulaire ActiveX
Dim Pict
Dim ImgFileFormat As String
Dim Ans As Integer

ImgFileFormat = "Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff; *.pdf ), *.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff; *.pdf"

Pict = Application.GetOpenFilename(ImgFileFormat)
If Pict = False Then    'Aucune image sélectionnée
Pict = ""
Image1.Picture = LoadPicture(Pict)
Exit Sub
Else
Image1.Picture = LoadPicture(Pict)
Image1.PictureSizeMode = fmPictureSizeModeZoom
'*******************************************************************************
    Shapes.Range(Array("Image1")).Name = "Image2"
'*******************************************************************************
End If

End Sub

A+

Bonjour Geof52,

Merci beaucoup pour votre proposition mais je voudrais pouvoir la remplacer si nécessaire; avec votre code mon image est figée.

Mes meilleures salutations,

Thierry

Re bonjour,

Il fallait mettre ce code:

Private Sub Image1_Click()
' Routing pour insérer image dans un contrôle de formulaire ActiveX
Dim Pict
Dim ImgFileFormat As String
Dim Ans As Integer

ImgFileFormat = "Image Files (*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff; *.pdf ), *.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tif; *.tiff; *.pdf"

Pict = Application.GetOpenFilename(ImgFileFormat)
If Pict = False Then    'Aucune image sélectionnée
    Pict = ""
    Exit Sub
Else
    Image1.Picture = LoadPicture(Pict)
    Image1.PictureSizeMode = fmPictureSizeModeZoom
End If

End Sub

Bon appétit!

Rechercher des sujets similaires à "vba inserer image"