Bob O' Deville
XLDnaute Junior
Bonjour,
J'ai rédigé les 2 boucles for imbriquées suivantes:
_______________________________________________________________________________________________
Dim collect As Collection
Dim Obj1 As Object
Dim NbArticle As Integer
Dim i As Integer
Dim j As Integer
Sheets("PARAMETRE").Range("B32").Value = ComboBox59.Value
NbArticle = Sheets("PARAMETRE").Range("B33").Value
Set collect = New Collection
'--------------------------------------------------------------------------------------------------------
Première boucle
'**********Créer nombre de Textbox en fonction de la valeur de la variable NbArticle************
'--------------------------------------------------------------------------------------------------------
For i = 1 To NbArticle
Set Obj1 = Me.MultiPage1.Pages(1).Controls.Add("forms.textbox.1", "Obj1", True)
With Obj1
.Name = "Designation" & i 'nom de la 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
'.Text = "je suis : " & Obj1.Name
'.Object.Value =
End With
'-------------------------------------------------------------------------------------------------------
Deuxième Boucle (imbriquée)
*****************Alimenter les textBox avec leur valeur respectives******************************
'-------------------------------------------------------------------------------------------------------
j = Sheets("MERCURIALE").Range("B65536").End(xlUp).Row
Sheets("MERCURIALE").Activate
For k = 2 To j
If Cells(k, 2).Value = ComboBox59.Value Then
Me.Controls("Designation & i").Value = Cells(k, 3)
'-------------------------------------------------------------------------------------------------------
Ce qui ne marche pas
************** Me.Controls("Designation & i").Value = Cells(k, 3)*********************
La même valeur alimente toutes les TextBox alors qu'elle devrait être différente
Ainsi, si je remplace Me.Controls("Designation & i").Value = Cells(k, 3)
par Cells(k, 4).Value = Cells(k, 3) La boucle fait le job
'-------------------------------------------------------------------------------------------------------
End If
Next k
Next i
Set Obj1 = Nothing
End Sub
__________________________________________________________________________________________________________
J'ai essayé plein de truc, sans résultat. En gros je sèche. Je pense qu'il s'agit d'un problème de syntaxe.
Merci pour vos éclairages
J'ai rédigé les 2 boucles for imbriquées suivantes:
_______________________________________________________________________________________________
Dim collect As Collection
Dim Obj1 As Object
Dim NbArticle As Integer
Dim i As Integer
Dim j As Integer
Sheets("PARAMETRE").Range("B32").Value = ComboBox59.Value
NbArticle = Sheets("PARAMETRE").Range("B33").Value
Set collect = New Collection
'--------------------------------------------------------------------------------------------------------
Première boucle
'**********Créer nombre de Textbox en fonction de la valeur de la variable NbArticle************
'--------------------------------------------------------------------------------------------------------
For i = 1 To NbArticle
Set Obj1 = Me.MultiPage1.Pages(1).Controls.Add("forms.textbox.1", "Obj1", True)
With Obj1
.Name = "Designation" & i 'nom de la 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
'.Text = "je suis : " & Obj1.Name
'.Object.Value =
End With
'-------------------------------------------------------------------------------------------------------
Deuxième Boucle (imbriquée)
*****************Alimenter les textBox avec leur valeur respectives******************************
'-------------------------------------------------------------------------------------------------------
j = Sheets("MERCURIALE").Range("B65536").End(xlUp).Row
Sheets("MERCURIALE").Activate
For k = 2 To j
If Cells(k, 2).Value = ComboBox59.Value Then
Me.Controls("Designation & i").Value = Cells(k, 3)
'-------------------------------------------------------------------------------------------------------
Ce qui ne marche pas
************** Me.Controls("Designation & i").Value = Cells(k, 3)*********************
La même valeur alimente toutes les TextBox alors qu'elle devrait être différente
Ainsi, si je remplace Me.Controls("Designation & i").Value = Cells(k, 3)
par Cells(k, 4).Value = Cells(k, 3) La boucle fait le job
'-------------------------------------------------------------------------------------------------------
End If
Next k
Next i
Set Obj1 = Nothing
End Sub
__________________________________________________________________________________________________________
J'ai essayé plein de truc, sans résultat. En gros je sèche. Je pense qu'il s'agit d'un problème de syntaxe.
Merci pour vos éclairages