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
|
Dim Txt() As New Classe1
Private Sub UserForm_Initialize()
Dim Fe As Worksheet
Dim Ctrl As MSForms.TextBox
Dim I As Integer
Dim Haut As Long
'position de départ du premier TextBox
Haut = 5
'parcour les feuilles
For Each Fe In Worksheets
'crée le TextBox correspondant avec le nom de la feuille
I = I + 1
Set Ctrl = Me.Controls.Add("Forms.Textbox.1", Fe.Name, True)
'dimensionne et positionne le TextBox
With Ctrl
.Left = 10
.Top = Haut
.Width = Me.Width - 20
.Height = 20
.Text = Fe.Range("E2").Value '<--lui affecte la valeur de la cellule de la feuille
End With
'incrémente
Haut = Haut + 20
'si la Form est trop petite, augmente sa hauteur
If Haut + 30 > Me.Height Then Me.Height = Haut + 30
'stocke le TextBox dans le tableau
ReDim Preserve Txt(1 To I)
Set Txt(I).GroupeTxt = Ctrl
Next Fe
End Sub |
Partager