Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Alimenter une valeur issue d'une base de donnée dans une textbox crée dynamiquement avec variable

Bob O' Deville

XLDnaute Junior
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…