Bonjour Balance58,
Une piste:
Plutôt que de passer par une userform pour stocker les images, je te propose la solution suivante :
- Tu constitues un dossier avec toutes tes images en nommant les images avec le même nom que tes villes.
- Sur l'évènement combobox_change de ta feuille Table1, tu charge la bonne image avec le code VBA suivant (à adapter...)
(Les noms de tes villes étant un peu compliqué pour un clavier français, j'ai transformer ta liste de villes en une plage nommée Liste_Villes pour avoir une correspondance entre la ville et son nom d'image).
Dans l'évènement "Combobox1_Change" de ta feuille "Table_1" tu colles le code suivant :
Const cPath = "C:\Users\215902\Documents\GVS\EXCEL_PRATIQUE\BALANCE58\Images" 'Dossier contenant les images - A adapter
Dim oSheet As Worksheet
Dim oShape As Shape
Dim sFilename As String
Dim lLeft As Double
Dim lTop As Double
Dim lWidth As Double
Dim lHeight As Double
Set oSheet = ActiveSheet
sFilename = WorksheetFunction.VLookup(ComboBox1.Value, [Liste_Villes], 2, False) ' table correspondance ville/Nom image
If Len(sFilename) > 0 Then
sFilename = cPath & "\" & sFilename & ".jpg"
Set oShape = oSheet.Shapes("Picture")
lLeft = oShape.Left
lTop = oShape.Top
lWidth = oShape.Width
lHeight = oShape.Height
oShape.Delete
Set oShape = oSheet.Shapes.AddPicture(sFilename, msoFalse, msoTrue, lLeft, lTop, lWidth, lHeight)
oShape.Name = "Picture"
End If
Tu adaptes ce code à ton environnement (cf commentaires) et, à la place du rectangle, tu insères une image que tu nommes "Picture" dans la feuille "Table 1".
Je joins mon excel de test