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):
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 ?
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
Merci d'avance pour votre aide, je reste à votre disposition !
Partager