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 :
cela marche pour le nom de l'USF,
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveWorkbook.VBProject.VBComponents("UserForm1").Name = "ToTo"
mais je ne souhaites pas modifier les noms du type F_1, F_2... mais les titres
etne marche pas !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveWorkbook.VBProject.VBComponents("UserForm1").caption= "ToTo"
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 :
Merci pour votre aide,
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
Partager