Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PMO
Bonjour,
Je suppose que votre but est d'éviter de faire une procédure DblClick pour chaque image. C'est très fastidieux si votre UserForm en contient beaucoup. S'il s'agit bien de cela voici une piste avec le code suivant :
1) Créez un module de classe. Renommez le "clsControlsEvents" et copiez le code suivant
'************* Public WithEvents Img As MSForms.Image
Private Sub Img_DblClick(ByVal Cancel As MSForms.ReturnBoolean) MsgBox Img.Tag End Sub '*************
2) Affichez la fenêtre de code de votre UserForm et copiez le code suivant
'************* Dim IM() As New clsControlsEvents
Private Sub UserForm_activate() Dim i& Dim ctl As MSForms.Control For Each ctl In Me.Controls If TypeOf ctl Is MSForms.Image Then i& = i& + 1 ReDim Preserve IM(1 To i&) Set IM(i&).Img = ctl End If Next ctl End Sub '*************
Il n'y a plus qu'à lancer le UserForm et si vous faites un double-clic sur une image sa propriété Tag s'affichera.
Cordialement.
PMO Patrick Morange
Bonjour,
Je suppose que votre but est d'éviter de faire une procédure DblClick
pour chaque image. C'est très fastidieux si votre UserForm en contient
beaucoup.
S'il s'agit bien de cela voici une piste avec le code suivant :
1) Créez un module de classe. Renommez le "clsControlsEvents"
et copiez le code suivant
'*************
Public WithEvents Img As MSForms.Image
Private Sub Img_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox Img.Tag
End Sub
'*************
2) Affichez la fenêtre de code de votre UserForm
et copiez le code suivant
'*************
Dim IM() As New clsControlsEvents
Private Sub UserForm_activate()
Dim i&
Dim ctl As MSForms.Control
For Each ctl In Me.Controls
If TypeOf ctl Is MSForms.Image Then
i& = i& + 1
ReDim Preserve IM(1 To i&)
Set IM(i&).Img = ctl
End If
Next ctl
End Sub
'*************
Il n'y a plus qu'à lancer le UserForm et si vous faites un
double-clic sur une image sa propriété Tag s'affichera.
Je suppose que votre but est d'éviter de faire une procédure DblClick pour chaque image. C'est très fastidieux si votre UserForm en contient beaucoup. S'il s'agit bien de cela voici une piste avec le code suivant :
1) Créez un module de classe. Renommez le "clsControlsEvents" et copiez le code suivant
'************* Public WithEvents Img As MSForms.Image
Private Sub Img_DblClick(ByVal Cancel As MSForms.ReturnBoolean) MsgBox Img.Tag End Sub '*************
2) Affichez la fenêtre de code de votre UserForm et copiez le code suivant
'************* Dim IM() As New clsControlsEvents
Private Sub UserForm_activate() Dim i& Dim ctl As MSForms.Control For Each ctl In Me.Controls If TypeOf ctl Is MSForms.Image Then i& = i& + 1 ReDim Preserve IM(1 To i&) Set IM(i&).Img = ctl End If Next ctl End Sub '*************
Il n'y a plus qu'à lancer le UserForm et si vous faites un double-clic sur une image sa propriété Tag s'affichera.