Bonjour Nebucad, le Forum
Pas vraiment certain d'avoir tout compris, mais si admettons tu as un UserForm où se trouve 4 TextBox et que tu veux obliger le User à ne saisir que dans l'ordre des TextBox en passant de l'un à l'autre par la touche Tab voici comment je m'y prendrai :
Private Sub UserForm_Initialize()
TextBox2.Locked = True
TextBox3.Locked = True
TextBox4.Locked = True
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then TextBox2.Locked = False
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then TextBox3.Locked = False
End Sub
Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then TextBox4.Locked = False
End Sub
Maintenant faut voir comment tu veux gérer le Lock des TextBox une fois l'info saisie...
NB L'évènement "KeyPress" ne prend pas en charge certaine Keys qui ne déclenchent pas d'evènement KeyPress, dont "Tab" mais aussi "Enter" et les "Arrows"... Pour ces dernières donc c'est soit "KeyDown" ou "KeyUp"...
Voilà Bon courage
@+Thierry