Bonjour a tous, et un grand merci à tous ceux qui prendront un peu de temps pour me sortir de ce mauvais pas...
Dans un UserForm, j'ai un Multipage avec une seule page, qui s'incrémente automatiquement du pages supplémentaires en fonction du besoin (3 4 5 6 pages).
Je fais donc une copie de la première page sur laquelle se trouve 4 TextBox que j'arrive bien à remplir grâce à l'évènement Click sur une liste box. Le soucis se situe au niveau des autres pages créées.
Impossible de renommer les TextBox et encore moins de leur attribuer une valeur.
J'ai pas mal cherché, je suis tombé sur pas mal d'explication, mais rien n'y fait.
Je n'arrive pas à les créer sur chaques pages,
J'arrive a créer des textbox sur la première mais impossible de rentrer des valeurs a l'intérieure après par le biais d'une liste box, les textbox ne veulent rien savoir en entrée comme en sortie
HELP .....
Déclarations Générales
Dans UserForm
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim Obj As MSForms.MultiPage, Cl1 As Classe2, i As Byte, j As Control Dim Ctl As MSForms.Control
Dans le Module de Classe
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 Private Sub UserForm_Initialize() 'Attribue la collection la variable "Collect". Set Collect = New Collection End Sub Private Sub UserForm_Activate() Dim Pge As Page Dim NomPage As String Dim pgCount As Long Dim Ctrl As Variant Dim Obj As Control t = Feuil01.Range("B3:B" & Feuil01.Range("B" & Rows.Count).End(xlUp).Row + 1) Articles.List = t 'Ajoute une page derligne = Feuil03.Range("A65536").End(xlUp).Row For X = 2 To derligne NomPage = Feuil03.Range("B" & X) 'MultiPage2.Pages.Add (NomPage) 'NomPage = Replace(NomPage, " ", "") 'Get the current count of the pages pgCount = Me.MultiPage2.Pages.Count 'Add a new page Me.MultiPage2.Pages.Add (NomPage) 'Slectionne la nouvelle page Me.MultiPage2.Value = pgCount NomPage = Replace(NomPage, " ", "") Dim TxtB As Control For K = 0 To 3 Set Obj = Me.Controls("MultiPage2") With Obj.page1 'Je n'arive pas a rendre ceci dynamique pour qu'il s'éxécute sur chaque page créée Set TxtB = .Add("forms.TextBox.1") 'Set Obj1 = .Add("forms.label.1") End With With TxtB .Name = NomPage & K .Left = 80 * K + 20 .Top = 70 .Width = 80 .Height = 22 End With Set Cl1 = New Classe2 Set Cl1.textbox = TxtB Collect.Add Cl1 Next K 'Me.Height = Me.Height + Obj.Top - 40 'le 30 correspond a .top -10 du +10 Next Me.MultiPage2.Value = 0 End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Option Explicit Public WithEvents textbox As MSForms.textbox
Merci à vous
Je me permet de poser mon fichier ici, au cas ou
Partager