Connaître nom de l'image chargée par boucle FOR

Bonjour à tous,

Connaissez vous la syntaxe qui me permettrait d'afficher le nom de mon image quand je clic dessus ?

Je cherche à faire quelque chose dans le genre :

Private Sub Image1_Click()
    Msgbox Image1.NamePicture 'cette syntaxe est fausse
End Sub

Mon projet :

J'ai 970 images dans un userform que j'ai chargé avec une boucle FOR (voir le code ci-dessous)

Dans la colonne C de excel j'ai le nom de toutes mes images. Exemple :

  • Feuil1.Range("C1") : Sophie.jpg
  • Feuil1.Range("C2") : Marc.jpg
  • Feuil1.Range("C3") : Sébastien.jpg
...

-Feuil1.Range("C970") : Aurélie.jpg

Private Sub Charger_image_Click()
Dim Folder As String
Folder = "D:\Images\"
    For i = 1 To 970
        Me.Controls("Image" & i).Picture = LoadPicture(Folder & Feuil1.Range("C" & i).Value & ".jpg")
    Next
End Sub

Comment faire pour connaître le nom de l'image chargée sachant que selon la manipulation faite en amont les images ne sont pas toujours attribuées au même objet. Exemple :

'-----Ici l'image de Sophie est attribuée à Image1-----
Image1.Picture = LoadPicture(D:\Images\Sophie.jpg)

'-----Cette fois ci c'est l'image de Marc qui est attribuée à Image1-----
Image1.Picture = LoadPicture(D:\Images\Marc.jpg)

Merci d'avance pour votre aide

Bonjour,

Une proposition : utiliser la propriété "Tag" pour stocker le chemin (ou le nom) de l'image.

    Private Sub Charger_image_Click()
    Dim Folder As String
    Folder = "D:\Images\"
        For i = 1 To 970
            Me.Controls("Image" & i).Picture = LoadPicture(Folder & Feuil1.Range("C" & i).Value & ".jpg")
            Me.Controls("Image" & i).Tag = Folder & Feuil1.Range("C" & i).Value & ".jpg"
        Next
    End Sub

A tester

Bouben

J'ai eu la même idée et ça fonctionne

Merci quand même

Rechercher des sujets similaires à "connaitre nom image chargee boucle"