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
PS : j'ai déjà lu les tutos liés aux userforms et aux control sans trouver mon bonheur.
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
Quelqu'un peut il m'aider?
Partager