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

  • Initiateur de la discussion Initiateur de la discussion jmh1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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:
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour