En cherchant sur différents forums, j'ai trouvé quelques pistes mais je n'arrive pas à savoir si je suis sur la bonne piste, ni à l'adapter comme je voudrais...
L'idée si je comprends bien est de référencer, à l'initialisation du Userform, tous les labels FestivalX dans un dossier qui s'appellerait ListeItem.
Ensuite, un clic sur un membre de ListeItem appellerait la fonction générique (ListeItem_click).
Mais évidemment, ca ne marche pas dans mon cas... Il ne se passe rien lorsque je clique sur un des labels Festival.
J'ai donc créé un module de classe (que j'ai nommé CLblEvents, sans que je sache ce que ca veut dire) avec le code suivant :
Code :
- Public WithEvents ListeItem As MSForms.Label
- Private Sub ListeItem_Click()
- UserForm17.titrefestival = ListeItem.Caption
- End Sub
|
Puis dans un module classique :
Code :
- Dim mcolEvents As New Collection
- Private Sub Userform15_initialize()
- Dim ListeItem As CLblEvents
- Dim Ctl As Control
- Dim clsLblEvents As CLblEvents
- Set mcolEvents = New Collection
-
- For Each Ctl In UserForm15.Controls
- If Ctl.Type = msoOLEControlObject Then
- If TypeOf Ctl.OLEFormat.Object.Object Is MSForms.Label Then
- If Ctl.Name Like "Festival" Then
- Set clsLblEvents = New CLblEvents
- Set clsLblEvents.ListeItem = Ctl.OLEFormat.Object.Object
- mcolEvents.Add clsLblEvents
- End If
- End If
- End If
- Next
- End Sub
|
Est-ce que j'ai un moyen de savoir si ListeItem est correctent rempli ? pour situer le problème...
Merci pour votre aide...
Message édité par westa le 23-04-2014 à 11:11:48