Bonjour,
je cherche à paramétrer la mise à jour des titres (caption) des boutons, des noms des frames par vba à partir d'une liste dans une feuille Excel.
Cela pour une appli contenant plusieurs USF contenant des controles (frames, boutons, textbox...), qui doit s'adapter en fonction du contexte.

J'ai essayé plusieurs chose, à l'ouverture de l'USF :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveWorkbook.VBProject.VBComponents("UserForm1").Name = "ToTo"
cela marche pour le nom de l'USF,
mais je ne souhaites pas modifier les noms du type F_1, F_2... mais les titres

et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveWorkbook.VBProject.VBComponents("UserForm1").caption= "ToTo"
ne marche pas !!


En fait, Je préférerai si c'est possible initialiser tous cela à l'ouverture du classeur et non pas à l'ouverture des USF,
et faire quelque chose comme ceci lancé par Workbook_Open :

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
30
31
32
33
34
 
 
Sub ReTitrerBoutons()
 
     Dim usf As Object
     Dim ctl As Object
     Dim i As Byte
     Dim J As Byte
     Dim BnParam As Byte
     Dim FnParam As Byte
 
 
    FnParam = Sheets("Gestion_Frame_Boutons").Range("E65536").End(xlUp).Row - 1 'Nbre de boutons
 
   ' Set usf = F_Main
    For Each ctl In F_Main              'F_Main = formulaire général, dans lequel s'inscrive différent autre USF ou Frames
 
         If TypeName(ctl) =  "Frame" Then
             i = i + 1
             ctl.Caption = Sheets("Gestion Frame Boutons").Range("F" & i)    '"lb" & i     'lb1 =Label N°1....
         End If
     Next
 
' idem pour les boutons
  BnParam = Sheets("Gestion_Frame_Boutons").Range("A65536").End(xlUp).Row - 1 'Nbre de Bouton
    For Each ctl In F_Main 
 
         If TypeName(ctl) ="CommandButton" Then 
            J = J + 1
             ctl.Caption= Sheets("Gestion_Frame_Boutons").Range("B" & i)
         End If
     Next
 '....
End Sub
Merci pour votre aide,