tableau de MSForms.TextBox dans un UserForm - Impossible d'accedere à la Valeur
Bonjour,
J'ai un UserForm dans lequel je crée dynamiquement une serie de label et textbox lors de l'initailisation du UserForm, En fonction d'éléments de ma feuille.
Schématiquement j'ai d'abord cette serie de declarations en tête de code de mon userform :
Code:
1 2 3 4 5 6 7
| Option Explicit
Private WithEvents CBt_Valid As MSForms.CommandButton
Private WithEvents CBt_Cancel As MSForms.CommandButton
Private NumBox As Integer
Private TxBx() As MSForms.TextBox
Private Label() As MSForms.Label |
Ensuite j'ai l'initailisation du USF :
Code:
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
| For i = 1 To NumOfTank 'boucle pour la création des Labels et TextBox
Set Label(i) = Me.Controls.Add("forms.label.1")
With Label(i)
.Name = "label" & i
.Caption = Store.Offset(i - 1, 0).Value
.Left = 10
.Top = (hauteur + 10) * i + 20
.Width = largeur
.Height = hauteur
End With
Set TxBx(i) = Me.Controls.Add("forms.textbox.1")
With TxBx(i)
.Name = "TextBox" & i
If (Store.Offset(i - 1, 1).Value = "") Then
.Value = 0.98
Else
.Value = Store.Offset(i - 1, 1).Value
End If
.Left = 15 + largeur + 5
.Top = (hauteur + 10) * i - 2 + 20
.Width = 40
.Height = hauteur + 5
End With
Next i |
L'initialisation se passe bien mes labels , textboxs ( avec leurs valeurs) apparaissent.
Je souhaite ensuite traiter ces valeurs dans la sub_click d'un de mes boutons :
Code:
1 2 3 4 5
| Private Sub CBt_Valid_Click()
MsgBox TxBx(0).Value
End Sub |
Mais j'obtiens le message suivant :
Citation:
runtime error '91'
Object variable or With block variable not set
c'est à dire que ce qui a été fait sur TxBx() (ReDim, Set, .Value,etc.) ne semble avoir de portée que dans la sub initialize, alors que la declaration est faite en dehors.
Merci de m'apporter vos lumières en prog VBA