problème de tabulations...

  • Initiateur de la discussion GZ-34
  • Date de début
G

GZ-34

Guest
Bonjour à tous,

Voilà mon soucis actuel, j'ai une feuille excel avec des composants dont des "textbox" et je souhaiterai faire en sorte que l'utilisateur puisse passer d'un composant à un autre en utilisant la touche tabulation...J'ai eu beau fouiller sur le forum j'ai pas trouver de réponse à ma question.

D'avance, merci.
 
L

Lord Nelson

Guest
Salut,

Voici un exemple avec 3 TextBoxs. Il s'agit d'intercepter le code tabulation (9) avec l'évènement KeyDown. Si le Shift n'est pas enfoncé, on passe à la zone de texte suivante, sinon on revient à la précédente.

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
If Shift = 0 Then
TextBox2.Activate
ElseIf Shift = 1 Then
TextBox3.Activate
End If
End If
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
If Shift = 0 Then
TextBox3.Activate
ElseIf Shift = 1 Then
TextBox1.Activate
End If
End If
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
If Shift = 0 Then
TextBox1.Activate
ElseIf Shift = 1 Then
TextBox2.Activate
End If
End If
End Sub

Dis moi si cela répond à ta préoccupation.
A+
LN
 
R

Ronan

Guest
Bonsoir,

En - long (juste comme ça !!!)

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

ExecTab KeyCode.Value, Shift, TextBox2, TextBox3

End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

ExecTab KeyCode.Value, Shift, TextBox3, TextBox1

End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

ExecTab KeyCode.Value, Shift, TextBox1, TextBox2

End Sub

Private Sub ExecTab(ToucheClavier As Integer, TShift As Integer, TBFutur As Object, TBPreced As Object)

'Programme type
If ToucheClavier = 9 Then
If TShift = 0 Then
TBFutur.Activate
ElseIf TShift = 1 Then
TBPreced.Activate
End If
End If

End Sub

@+

Ronan
 
L

Lord Nelson

Guest
Salut à tous,

Mais non Ronan, c'est un boulot d'équipe :

A la base une bonne question, clairement formulée,
+ une ou plusieurs propositions viables,
= une réflexion constructive pour tous.

Et Vive le forum XLD !

Horatio
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2