Procédure liée à un TextBox créé dynamiquement
Bonjour,
Je travail en simultané sur 2 userform. Le premier comprend une listbox avec des articles et des prix unitaires (PU). Le second (Devis) comprend un multipage dans lequel j'incère des lignes dynamiquement lors d'un double click sur un article de la listbox. Je crée donc une série de textbox avec, pour le sujet qui m'intéresse Quantité (TxtQte), Prix Unitaire (TxtPU) et Total (TxtTotal). Cette partie là fonctionne très bien.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
Dim Tqte As Control, Tpu As Control, Ttot As Control
If T = 0 Then T = 24
If I = 0 Then I = 1
With UsfDevis.MultiPage1.Pages(1).Controls
Set Tqte = .Add("Forms.TextBox.1")
Set Tpu = .Add("Forms.TextBox.1")
Set Ttot = .Add("Forms.TextBox.1")
With Tqte
.Name = "TxtQte" & I: .Left = 348: .Top = T: .Height = 18: .Width = 30
.Value = UsfDevis.TxtNbreJour.Value
End With
With Tpu
.Name = "TxtPU" & I: .Left = 390: .Top = T: .Height = 18: .Width = 42
.Value = ListBox1.List(ListBox1.ListIndex, 2)
End With
With Ttot
.Name = "TxtTotal" & I: .Left = 444: .Top = T: .Height = 18: .Width = 60
.Value = ListBox1.List(ListBox1.ListIndex, 2) * Tqte.Value
End With
I = I + 1
T = T + 24 |
Les quantité, PU et Total sont reportés ainsi dans UsfDevis. A l'aide de msgbox j'ai vérifié les noms des textbox créées TxtQte1, TxtQte2 etc... Tout fonctionne bien.
L'utilisateur va avoir besoin de temps en temps de modifier soit la quantité, soit le Prix Unitaire. J'ai donc créé une procédure dans UsfDevis pour traiter ce cas de figure:
Code:
1 2 3 4 5 6 7
|
Private Sub TxtQte1_Change()
TxtTotal1.Value = TxtQte1 * TxtPU1
End Sub
Private Sub TxtPU1_Change()
TxtTotal1.Value = TxtQte1.Value * TxtPU1.Value
End Sub |
Et c'est là que ça coince. Si je change la quantité, le total ne change pas
si je change le PU, le total ne change pas non plus.
La question est: Qu'est ce que j'ai mal fait? ca me paraissait pourtant à ma portée.
Merci d'avance