Bonjour
J'ai créer ( c'est un grand mot) une macro qui permet d'ajouter dynamiquement des textbox dans une multipage selon une variable.
Dont voici le code de programmation :
____________________________________________________________________________________________________________________________
Dim collect As Collection
Dim Obj1 As Object
Dim NbArticle As Integer
Dim i As Integer
Sheets("PARAMETRE").Range("B32").Value = ComboBox59.Value
NbArticle = Sheets("PARAMETRE").Range("B33").Value
Set collect = New Collection
For i = 1 To NbArticle
Set Obj1 = Me.MultiPage1.Pages(1).Controls.Add("forms.textbox.1")
With Obj1
.Name = "Désignation" & i 'nom de ta textbox (toto1, toto2, toto3, ...)
.Left = 15 'position par rapport au rebord gauche de l'UserForm
.Top = 20 * i + 65 'position par rapport au haut de l'UserForm
.Width = 160 'largeur de la zone d'écriture
.Height = 15 'hauteur de la zone d'écriture
End With
Dim j As Integer
Sheets("MERCURIALE").Activate
j = Sheets("MERCURIALE").Range("B65536").End(xlUp).Row
For k = 2 To j
If Cells(k, 2) = ComboBox59.Value Then
Me.Controls("Désignation" & i).Value = Cells(k, 3)
End If
Next k
Next i
End sub
_____________________________________________________________________________________________________________________________
Ca marche très bien. Ainsi lorsque je sélectionne la variable ( Nom d'un fournisseur) dans la Combobox59, il apparait le nombre de textbox relative au x nombre d'articles référencés pour ce fournisseur.
Là ou je sèche c'est comment attribuer une valeur dans chaque textbox automatiquement.
Ainsi le fournisseur "Bob" propose des tomate, des courgettes, des poires et des pommes, et bien je souhaite que dans la textbox1 apparaisse : "Tomate", dans la textebox2 : "Courgettes" etc
Je pense que que c'est une problème de syntaxe de la ligne :
Me.Controls("Désignation" & i).Value = Cells(k, 3) en fin de cette macro
Merci par avance pour vos éclairages
Répondre