Bonjour à tous!
Tout d'abord, bonne et heureuse année à tous!
Je viens à vous pour un petit problème qui me turlupine!
En fait, j'ai créé des textbox dans un userform via ma macro, et je lui ai donné un nom.
Jusqu'ici, rien d'extraordinaire.
Quand je demande une liste des controls du userform avec un for....each..., mes textbox apparaissent avec le bon nom.
Mais quand je tape une valeur dans le userform et que j'essai de la récupérer via un userform.textbox11.value, il ne reconnait pas la textbox.
Quelqu'un pour m'aider?
D'avance merci, ça me bloque un peu...
Bonne soirée!
Tout d'abord, bonne et heureuse année à tous!
Je viens à vous pour un petit problème qui me turlupine!
En fait, j'ai créé des textbox dans un userform via ma macro, et je lui ai donné un nom.
Jusqu'ici, rien d'extraordinaire.
Quand je demande une liste des controls du userform avec un for....each..., mes textbox apparaissent avec le bon nom.
Mais quand je tape une valeur dans le userform et que j'essai de la récupérer via un userform.textbox11.value, il ne reconnait pas la textbox.
Quelqu'un pour m'aider?
D'avance merci, ça me bloque un peu...
Bonne soirée!
Code:
Public Sub CommandButton1_Click()
Dim obj As Object
Dim answer As String
For Each obj In Def_paroi.Controls
answer = answer & vbLf & obj.Name
Next
MsgBox answer
answer = (Def_paroi.textbox32.Value)
Unload Def_paroi
End Sub
Public Sub nombre_mur_change()
Dim valeur As Variant
Def_paroi.Hide
ReDim nb_mur_paroi(Def_paroi.nombre_mur.Value)
nb_mur_paroi(no_paroi) = Def_paroi.nombre_mur.Value
Dim Top, Lefti, Width, Height, i As Integer
Dim NumeroTextBox As Integer
Dim TextBoxName, labelname, labelcolonne As String
'supp^ression des textbox
Dim CTRL As Control
i = 0
For Each CTRL In Me.Controls
If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.Label Then
Me.Controls.Remove (i)
Else
i = i + 1
End If
Next
Top = 70
Width = 50
Height = 20
NumeroTextBox = 1
Def_paroi.Height = 115
i = 1
test = False
While i <= 20 And i <= nb_mur_paroi(no_paroi)
Def_paroi.Width = 260
Lefti = 70
Def_paroi.Height = Def_paroi.Height + 25
labelname = "Paroi" & i
Set labelparoi = Def_paroi.Controls.Add("Forms.label.1", labelname, True) 'Ouverture est le nom de ma fenetre
Lefti = 50
With labelparoi
.Visible = True
.Caption = "paroi " & i
.Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti - 45 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
For j = 1 To 3
TextBoxName = "textbox" & i & j
Set TextBox = Def_paroi.Controls.Add("Forms.textbox.1", TextBoxName, True) 'Ouverture est le nom de ma fenetre
With TextBox
.Name = TextBoxName
.Visible = True
.Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
labelcolonne = "Labelcolonne" & j
Set labelcol = Def_paroi.Controls.Add("Forms.label.1", labelcolonne, True) 'Ouverture est le nom de ma fenetre
With labelcol
.Visible = True
.Top = 50 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
If j = 1 Then
labelcol.Caption = "Coord. X"
Else
If j = 2 Then
labelcol.Caption = "Coord. Y"
Else
labelcol.Caption = "Teta /X"
End If
End If
Lefti = Lefti + 70
Next j
i = i + 1
Top = Top + 25
Wend
If i > 20 Then
Top = 70
For i = 21 To nb_mur_paroi(no_paroi)
Def_paroi.Width = 520
Lefti = 320
labelname = "Paroi" & i
Set labelparoi = Def_paroi.Controls.Add("Forms.label.1", labelname, True) 'Ouverture est le nom de ma fenetre
With labelparoi
.Visible = True
.Caption = "paroi " & i
.Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti - 45 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
For j = 1 To 3
TextBoxName = "textbox" & i & j
Set TextBox = Def_paroi.Controls.Add("Forms.textbox.1", TextBoxName, True) 'Ouverture est le nom de ma fenetre
With TextBox
.Name = TextBoxName
.Visible = True
.Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
labelcolonne = "Labelcolonne" & j
Set labelcol = Def_paroi.Controls.Add("Forms.label.1", labelcolonne, True) 'Ouverture est le nom de ma fenetre
With labelcol
.Visible = True
.Top = 50 'Definit la distance entre le bord de la fenetre et le bord du conteneur
.Left = Lefti 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur
.Width = Width 'Definit la largeur de l'objet
.Height = Height 'Definit la hauteur de l'objet
.Font.Size = 10
End With
If j = 1 Then
labelcol.Caption = "Coord. X"
Else
If j = 2 Then
labelcol.Caption = "Coord. Y"
Else
labelcol.Caption = "Teta /X"
End If
End If
Lefti = Lefti + 70
Next j
Top = Top + 25
Next
End If
Def_paroi.Height = Def_paroi.Height - 25
Def_paroi.Show
'Def_paroi.nombre_mur.SetFocus
'MsgBox (Def_paroi.textbox32.Value)
End Sub