Bonjour à tous,
J'ai un soucis concernant un projet VBA

Dans un userform, l'utilisateur entre un nombre correspondant au nombre de références qu'il traite, NbRef,

Puis il entre le nom d'une machine. La macro va chercher dans une feuille de données le nom de cette machine ainsi que les références associées.

S'en suit, la création d'une textbox et d'une combobox comme suit. La combobox est remplie avec les références de la machine entrée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
For i = 1 To NbRef
 
Dim nouvelleComboBox As Control 'instanciation d'une variable de type Control
Set nouvelleComboBox = Me.Controls.Add("forms.ComboBox.1") ' ajout d'une nouvelle ComboBox dans le UserForm
With nouvelleComboBox 'propriétés de la nouvelle ComboBox
.Name = "ComboBoxRéférence " & numerocombobox 'nom de la forme : ComboBox x
.Left = Gauche 'positionnement sur l'axe des abscisses
.Top = Ordonnée + numerocombobox * 7.5 'positionnement sur l'axe des ordonnées
.Width = Largeur 'largeur
.Height = Hauteur 'hauteur
End With
 
If ComboBoxNomMachine.Value <> "" Then
o = 2
Do While Cells(o, ColonneMachine).Value <> ""
nouvelleComboBox.AddItem Cells(o, ColonneMachine).Value
o = o + 1
Loop
Else
MsgBox ("Veuillez entrer le nom de la machine")
Exit Sub
End If
 
Dim nouvelleTextTempsGamme As Control
Set nouvelleTextTempsGamme = Me.Controls.Add("forms.TextBox.1")
With nouvelleTextTempsGamme
.Name = "TextBoxTempsGamme " & numerocombobox
.Left = 390 - Gauche 'positionnement sur l'axe des abscisses
.Top = Ordonnée + numerocombobox * 7.5 'positionnement sur l'axe des ordonnées
.Width = 114 'largeur
.Height = Hauteur 'hauteur
End With
 
Next

Maintenant, il faut que quand l'utilisateur sélectionne une référence dans la ième combobox, la ième textboxTempsGamme ait pour valeur le temps de référence associé. Le temps de gamme est trouvé par recherche sur une feuille excel qui se présente sous le format suivant (avec X12, le nom de la machine):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
X12	                TempsGamme
16859252XX	100
1685925TXX	250
15572312XX	20
1554531TXX	100
15770542XX	100
Il faudrait, je crois, créer une procédure _change pour chaque textboxTempsGamme dynamiquement. Je ne sais hélas comment faire et mes recherches ne donnent rien. Avez vous une solution ou une idée pour contourner le problème ?

Merci d'avance pour votre aide, je reste à votre disposition !