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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
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 '-----------------------------------
'-----------------------------------
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
'-----------------------------------
'----------------------------------- 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 '-----------------------------------
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" a écrit dans le message de news: kgd3u2$lrs$
Bonjour,
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 '-----------------------------------
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" <michdenis@hotmail.com> a écrit dans le message de news: kgd3u2$lrs$1@speranza.aioe.org...
Bonjour,
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
'-----------------------------------
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" a écrit dans le message de news: kgd3u2$lrs$
Bonjour,
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 '-----------------------------------
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
Cela devrait fonctionner!
Oui ca fonctionne
-- Salutations JJ
"MichD" a écrit dans le message de news: kgdf3n$noe$
| C'est ce que j'utilise actuellement.
Ce que tu utilises est : TextBox1_KeyPress
Je te suggère D'AJOUTER l'événement : TextBox1_KeyDown
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
Cela devrait fonctionner!
Oui ca fonctionne
--
Salutations
JJ
"MichD" <michdenis@hotmail.com> a écrit dans le message de news: kgdf3n$noe$1@speranza.aioe.org...
| C'est ce que j'utilise actuellement.
Ce que tu utilises est : TextBox1_KeyPress
Je te suggère D'AJOUTER l'événement : TextBox1_KeyDown
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
Cela devrait fonctionner!
Oui ca fonctionne
-- Salutations JJ
"MichD" a écrit dans le message de news: kgdf3n$noe$
| C'est ce que j'utilise actuellement.
Ce que tu utilises est : TextBox1_KeyPress
Je te suggère D'AJOUTER l'événement : TextBox1_KeyDown
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" a écrit dans le message de news: kgdise$3qu$
Si tu as besoin d'intercepter les touches "Supprimer" et "Retour arrière", tu n'as pas le choix des armes! ;-)
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" <michdenis@hotmail.com> a écrit dans le message de news: kgdise$3qu$1@speranza.aioe.org...
Si tu as besoin d'intercepter les touches "Supprimer"
et "Retour arrière", tu n'as pas le choix des armes!
;-)
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" a écrit dans le message de news: kgdise$3qu$
Si tu as besoin d'intercepter les touches "Supprimer" et "Retour arrière", tu n'as pas le choix des armes! ;-)
'--------------------------------------- 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 '---------------------------------------
'---------------------------------------
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
'---------------------------------------
'--------------------------------------- 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 '---------------------------------------
Merci Denis de m'avoir orienté vers la bonne direction 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" a écrit dans le message de news: kgt59l$u71$
As-tu essayé quelque chose comme ceci :
'--------------------------------------- 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 '---------------------------------------
Merci Denis de m'avoir orienté vers la bonne direction
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" <michdenis@hotmail.com> a écrit dans le message de news: kgt59l$u71$1@speranza.aioe.org...
As-tu essayé quelque chose comme ceci :
'---------------------------------------
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
'---------------------------------------
Merci Denis de m'avoir orienté vers la bonne direction 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" a écrit dans le message de news: kgt59l$u71$
As-tu essayé quelque chose comme ceci :
'--------------------------------------- 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 '---------------------------------------