Bonjour,
Je ne sais pas très bien me servir des module de classe, mais à force de chercher un peu partout sur le net, j'ai écrit ce code :
et un module de classe pour interagir avec ces images :
Mais ca me marche pas. Ca créé bien les 3 images, mais ces images ne réagissent pas à un click de la souris.
A noter aussi une chose que je ne comprend pas : quand je tape "MSForms.Image", le correcteur me vire la majuscule à Image, comme s'il ne connaissait pas l'objet. Ca n'a ptet rien à voir, mais j'aurais aimé savoir d'où ça pouvait venir.
Merci d'avance !
Je ne sais pas très bien me servir des module de classe, mais à force de chercher un peu partout sur le net, j'ai écrit ce code :
Code:
Dim hImage, wImage As Integer
Dim fromLeft, shiftLeft, fromTop As Integer
Private Sub UserForm_Initialize()
'---------------------------------
' Initialisation des variables
'---------------------------------
fromTop = 300
fromLeft = 15
shiftLeft = 95
hImage = 90
wImage = 90
Call CreerImages (3)
End Sub
Sub CreerImages(nbImage)
'---------------------------------
' Création de [nbImages] images à la suite
'---------------------------------
Dim nb As Integer, obj As Control, i As Integer
Dim mesImages() As MSForms.image
Dim monImage As MSForms.image
On Error Resume Next
For i = 0 To nbImage - 1
Set monImage = Me.Controls("" & i)
If monImage Is Nothing Then
Set monImage = Me.Controls.Add("Forms.Image.1", "monImage" & i, True)
With monImage
.Top = fromTop
.Left = fromLeft + shiftLeft * i
.Height = hImage
.Width = wImage
End With
Else
MsgBox "existe déjà !"
End If
Set monImage = Nothing
Next
For Each obj In Me.Controls
If obj.Name Like "monImage*" Then
nb = nb + 1
ReDim Preserve mesImages(1 To nb)
Set mesImages(nb).ImageEvents = obj
End If
Next obj
Set obj = Nothing
End Sub
et un module de classe pour interagir avec ces images :
Code:
Option Explicit
Public WithEvents ImageEvents As MSForms.image
Private Sub ImageEvents_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim qui As String
qui = RechercheImages.ActiveControl.Name
MsgBox qui
End Sub
Mais ca me marche pas. Ca créé bien les 3 images, mais ces images ne réagissent pas à un click de la souris.
A noter aussi une chose que je ne comprend pas : quand je tape "MSForms.Image", le correcteur me vire la majuscule à Image, comme s'il ne connaissait pas l'objet. Ca n'a ptet rien à voir, mais j'aurais aimé savoir d'où ça pouvait venir.
Merci d'avance !