Bonjour,

Je travaille actuellement sur un fichier qui extrait des informations d'autres fichiers. Mon problème est le suivant: les utilisateurs des fichiers sources aiment changer le noms des feuilles régulièrement.
J'ai donc fait un bout de macro qui ouvre un userform qui propose tous les noms de feuilles du fichier source avec le code ci dessous.
Mon problème est que comme les OptionButton sont créer à l'initialisation je ne sais pas comment déclarer la macro qui correspondrait au OptionButton_Click

SHEET_FORMULAIRE est la feuille qui contient toutes les données des fichiers sources
FORM_NOM_NOMEN est le nolm de la cellule contenant le nom du fichier source
FORM_NOM_FEUILLE_NOMEN est le nom de la cellule censé contenir le nom de la feuille à analyser

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim ControlToBeAdded As Control
 
Dim MySheetCount As Integer
 
Private Sub Annuler_Click()
Me.Hide
End Sub
 
Private Sub UserForm_Initialize()
 
Me.Label1.Caption = "La feuille : " & SHEET_FORMULAIRE.Range(FORM_NOM_FEUILLE_NOMEN) & " n'a pas été trouvée, sélectionnez la feuille désirée :"
' Ajoute les noms de Feuilles
For MySheetCount = 1 To Workbooks(SHEET_FORMULAIRE.Range(FORM_NOM_NOMEN).Value).Worksheets().Count
    Set ControlToBeAdded = Me.Controls.Add("Forms.OptionButton.1", Workbooks(SHEET_FORMULAIRE.Range(FORM_NOM_NOMEN).Value).Worksheets(MySheetCount).Name, True)
    ControlToBeAdded.Left = 20
    ControlToBeAdded.Top = 20 + 15 * MySheetCount
    ControlToBeAdded.Caption = Workbooks(SHEET_FORMULAIRE.Range(FORM_NOM_NOMEN).Value).Worksheets(MySheetCount).Name
Next MySheetCount
 
Me.Annuler.Left = 20
Me.Annuler.Top = 10 + 15 * (MySheetCount + 1)
Me.Annuler.Height = 30
Me.Annuler.Width = 200
Me.Annuler.Caption = "ANNULER"
 
Me.Height = 70 + 15 * (MySheetCount + 1)
Me.Width = 240
 
End Sub
PS : j'ai déjà lu les tutos liés aux userforms et aux control sans trouver mon bonheur.

Quelqu'un peut il m'aider?