Touches autorisées
Le
Jacky

Bonjour,
J'utilise actuellement ce code pour autoriser l'entrée restreinte d'un textbox
'--
Const TouchePermise = "0123456789"
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr(TouchePermise, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Else
Me.CommandButton1.Enabled = True
Me.CommandButton1.BackColor = &HFF00& 'vert
End If
End Sub
'
Je souhaite la prise en compte de la touche "Suppr" et la touche "Retour arrière"
Le but étant de peinturlurer un bouton d'une couleur quand une de ces touches est appuyée.
Exemple simplifié ici
http://cjoint.com/?0BynxF0NCOK
Merci de la participation
--
Salutations
JJ
J'utilise actuellement ce code pour autoriser l'entrée restreinte d'un textbox
'--
Const TouchePermise = "0123456789"
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr(TouchePermise, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Else
Me.CommandButton1.Enabled = True
Me.CommandButton1.BackColor = &HFF00& 'vert
End If
End Sub
'
Je souhaite la prise en compte de la touche "Suppr" et la touche "Retour arrière"
Le but étant de peinturlurer un bouton d'une couleur quand une de ces touches est appuyée.
Exemple simplifié ici
http://cjoint.com/?0BynxF0NCOK
Merci de la participation
--
Salutations
JJ
Ajoute ceci au code de ton formulaire :
'-----------------------------------
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
'Touche supprimer = 46
'Touche Retour arrière = 8
If KeyCode = 46 Or KeyCode = 8 Then
Me.CommandButton1.BackColor = vbGreen
End If
End Sub
'-----------------------------------
MichD
---------------------------------------------------------------
C'est ce que j'utilise actuellement.
Je pensais ....certainement à tort, pouvoir l'ajouter à l'instruction
TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Mais bon, je vais faire avec :-(
Merci pour ton soutien
--
Salutations
JJ
"MichD"
Ce que tu utilises est : TextBox1_KeyPress
Je te suggère D'AJOUTER l'événement : TextBox1_KeyDown
Cela devrait fonctionner!
MichD
---------------------------------------------------------------
Oui, j'avais bien compris
Dans le fichier réel j'utilise déjà TextBox1_KeyDown de la même façon que tu le suggères
Je voulais savoir si je pouvais m'en passer et l'intégrer dans TextBox1_KeyPress
Oui ca fonctionne
--
Salutations
JJ
"MichD"
et "Retour arrière", tu n'as pas le choix des armes!
;-)
MichD
---------------------------------------------------------------
Cela m'amène à un autre problème
un userfourm avec
2 combobox
5 textbox
4 CommandButton
Plusieurs label
Tous les tabstop à false sauf
combobox1
les 4 textbox
commandeBouton1
Avec la touche tab ou entrée la sélection passe bien entre ces 6 controles,
mais il arrive qu'une tabulation se fasse à l'intérieur du combobox ou à l'intérieur d'un textbox
Peut-on interdire cette tabulation à l'intérieur de ces controles sans affecter la tabulation entre les
controles
--
Salutations
JJ
"MichD"
'---------------------------------------
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 9 Then
KeyCode = 0
Me.TextBox1.SetFocus 'Ou le nom du contrôle suivant
End If
End Sub
'---------------------------------------
Private Sub Textbox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 9 Then
KeyCode = 0
Me.ComboBox1.SetFocus 'Ou le nom du contrôle suivant
End If
End Sub
'---------------------------------------
MichD
---------------------------------------------------------------
J'ai du bidouiller un peu, dans certain cas des textbox ne sont pas visibles (donc plantage)
'-------------------------
If KeyCode = 9 Then
KeyCode = 0
For i = TextBox1.TabIndex + 1 To 5
If Me.Controls("TextBox" & i).Visible = True Then
Controls("TextBox" & i).SetFocus
Exit Sub
Else
If Me.CommandButton1.Enabled = True Then
Me.CommandButton1.SetFocus
Else
Me.ComboBox2.SetFocus
End If
End If
Next
End If
'-------------------------
--
Salutations
JJ
"MichD"