Bonjour à tous,

J'ai 15 textbox dans une userform.

Je souhaite qu'elles soient complétée une par une, donc à l'évenement UserForm_Initialize() je cache toutes les textbox sauf la premiere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Sub UserForm_Initialize()
Dim ctrl As Object
For Each ctrl In UserForm3.Controls
If TypeName(ctrl) = "TextBox" Then
ctrl.Visible = False
End If
Next
TextBox1.Visible = True
End Sub
Jusqu'ici tout va bien.

Ensuite, au fur et à mesure que l'utilisateur rempli les textbox, je veux faire apparaitre la textbox suivante : il remplit la premiere, appuie sur entrée : la deuxieme textbox s'affiche etc...
Je sais le faire pour une textbox :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 
TextBox1.Font.Size = 20
If (KeyCode = 13) And TextBox1.Text <> "" Then
    TextBox2.Visible = True
End If
End Sub
Mais comme vous le voyez cette sub ne concerne que la textbox1.

Ma question :
Est-il possible d'appliquer cette sub à toutes mes textbox sans devoir copier/coller 15 fois le code en remplaçant l'indice de la textbox?
Merci d'avance pour vos lumière !