Ce que je cherche à obtenir :
Je lance mon dialogue qui comprend 3 CheckBox nommées CheckBox1, CheckBox2 et CheckBox3.
Lorsque je clique sur une CheckBox, le TextField "lié" (TextField1, TextField2 et TextField3) devient visible.
Le focus est placé à l'intérieur du TextField correspondant.
Le problème que je rencontre :
Ma petite routine marche bien tant que je coche dans l'ordre croissant.
Par contre, si je coche la CheckBox2, le TextField2 est visible et obtient le focus. Si je coche ensuite la CheckBox1, le TextField1 devient visible mais le focus reste sur le 2.
Comment récupérer le n° de la CheckBox cochée dans une variable pour ainsi "forcer" le focus sur le TextField qui a le même n° ?
Je comprends bien qu'en passant par If then tel que je l'ai fait, c'est tout à fait normal que le focus n'arrive pas sur le TextField1.
Précision : sur mon Dialogue, j'ai en réalité 22 CheckBox qui peuvent être activées.
Code : Tout sélectionner
Sub Enquete_CB_Modifiee
Dim i as integer
For i= 1 to 3
If DialTest.getControl("CheckBox"& i).state = 1 then
DialTest.getControl("TextField"& i).visible = true
DialTest.getControl("TextField"& i).setfocus
End if
Next i
End sub