Récupérer le nom de l'image que l'on clique

jmh1

XLDnaute Occasionnel
Bonjour le forum,

J'ai un fichier avec une quarantaine d'images (img1, img2, img3...).

J'aimerai connaitre le code pour récupérer le nom de l'image sur laquelle je clique (par ex. si je clique sur l'image3,
je voudrai récupérer dans une variable "img3".

Merci de votre aide.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Récupérer le nom de l'image que l'on clique

Bonjour,

Il faut affecter une macro aux images

Sheets("xxx").Shapes("xxxx").OnAction="NomMacro"

Code:
Sub affecteMacroShape()
  Sheets("feuil1").Shapes("monshape").OnAction = "macro1"
End Sub

Sub macro1()
  nomShape = Application.Caller
  MsgBox nomShape
End Sub


http://boisgontierjacques.free.fr/fichiers/Cellules/OrganigrammeHClic.xls

JB
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Récupérer le nom de l'image que l'on clique

Bonjour,

Application.Caller va bien si les images ne sont pas des contrôles ActiveX.

Avec des contrôles ActiveX, dans un Module de classe :

Code:
Public WithEvents IM As MSForms.Image

Private Sub IM_Click()
Dim nom$
nom = IM.Name
MsgBox nom 'pour tester
End Sub
Et pour initialiser la classe, dans ThisWorkbook :

Code:
Dim IM() As New Classe1

Private Sub Workbook_Open()
Dim o As OLEObject, n%
For Each o In Feuil1.OLEObjects
  If TypeOf o.Object Is Image Then
    ReDim Preserve IM(n)
    Set IM(n).IM = o.Object
    n = n + 1
  End If
Next
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Images ActiveX(1).xlsm
    385 KB · Affichages: 51

Discussions similaires

Réponses
9
Affichages
217

Statistiques des forums

Discussions
312 484
Messages
2 088 782
Membres
103 962
dernier inscrit
sarrent74