Bonjour,
Lors de la sélection d'une des lignes d'une ListeBox, je génère sur le formulaire une TextBox.
Cela fonctionne bien.
Par contre, la position en hauteur TOP est identique à la valeur de l'index du select de la ligne de la listBox
Mon souhait est peu importe la position de la ligne sélectionnée dans la listbox Créera une TextBox sur la 1er ligne prévue à cette effet dans le formulaire
la seconde sélection créera le TextBox en dessous de la 1er TextBox. etc...
Il semble que ce soit cette variable qui faut incrémenter différemment --> .Top = 130 + (j) * 15 --> mais diférents test ne donnent rien
voici le code pour plus de clarté
merci de votre temps
Lors de la sélection d'une des lignes d'une ListeBox, je génère sur le formulaire une TextBox.
Cela fonctionne bien.
Par contre, la position en hauteur TOP est identique à la valeur de l'index du select de la ligne de la listBox
Mon souhait est peu importe la position de la ligne sélectionnée dans la listbox Créera une TextBox sur la 1er ligne prévue à cette effet dans le formulaire
la seconde sélection créera le TextBox en dessous de la 1er TextBox. etc...
Il semble que ce soit cette variable qui faut incrémenter différemment --> .Top = 130 + (j) * 15 --> mais diférents test ne donnent rien
voici le code pour plus de clarté
VB:
Private Sub ListBox_ARO_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
[B]Dim j As Integer[/B]
Dim ctrl As Control
For i = 0 To ListBox_ARO.ListCount - 1
[B]j = 1[/B]
If ListBox_ARO.Selected(i) Then
[B]j = j + 1[/B]
'Label Nom Arôme
Set ctrl = Me.Controls.Add("Forms.Label.1")
With ctrl
.Height = 12
.Width = 234
.Left = 24
.Top = 130 + ([B]j[/B]) * 15
.Caption = Select_Nom_Arome & ListBox_ARO.List(i, 2)
.Name = "Lab_" & Select_Nom_Arome & ListBox_ARO.List(i, 2)
.TabIndex = i
.Font.Name = "Verdana"
.Font.size = 10
End With
' TextBox Dosage Arôme
Set ctrl = Me.Controls.Add("Forms.TextBox.1")
With ctrl
.Height = 18
.Width = 24
.Left = 264
.Top = 126 + (j) * 21
.Name = "TB_" & Select_Nom_Arome & ListBox_ARO.List(i, 2)
.TabIndex = i
.Font.Name = "Verdana"
.Font.size = 10
End With
'Label symbôle %
Set ctrl = Me.Controls.Add("Forms.Label.1")
With ctrl
.Height = 12
.Width = 12
.Left = 289
.Top = 130 + (j) * 15
.Caption = "%"
.TabIndex = i
.Font.Name = "Verdana"
.Font.size = 10
End With
' TextBox Quantité dû au dosage Arôme
Set ctrl = Me.Controls.Add("Forms.TextBox.1")
With ctrl
.Height = 18
.Width = 30
.Left = 310
.Top = 126 + (j) * 21
.Name = "TB_Q_" & Select_Nom_Arome & ListBox_ARO.List(i, 2)
.TabIndex = i
.Font.Name = "Verdana"
.Font.size = 10
End With
'Label ml
Set ctrl = Me.Controls.Add("Forms.Label.1")
With ctrl
.Height = 12
.Width = 12
.Left = 342
.Top = 130 + (j) * 15
.Caption = "ml"
.TabIndex = i
.Font.Name = "Verdana"
.Font.size = 10
End With
End If
Next i
' lecture du nom de control type TextBox & Label
Dim Ob As Control
For Each Ob In Me.Controls
If TypeOf Ob Is MSForms.TextBox Then
' MsgBox Ob.Name
Debug.Print Ob.Name
End If
If TypeOf Ob Is MSForms.label Then
' MsgBox Ob.Name
Debug.Print Ob.Name
End If
Next
End Sub
merci de votre temps