Bonjour,
Je reposte car la r=E9ponse pr=E9c=E9dente ne semble pas=20
convenir.
Je viens de me rendre compte qu'en appuyant sur=20
Alt+Entr=E9e on entrait dans les propri=E9t=E9s et=20
donc dans le code... J'ai essay=E9 de bloquer les touches=20
par cette fonction trouv=E9e sur internet :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As=20
Integer)
Select Case KeyCode
Case 33, 34, 9, 18
KeyCode =3D 0
End Select
end sub
mais si le Alt (18) est bloqu=E9, le Alt+Entr=E9e fonctionne=20
toujours.
Merci d'avance pour vos conseils
Herve
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
Eric
"Herve Matous" écrivait :
Bonjour, Je reposte car la réponse précédente ne semble pas convenir. Je viens de me rendre compte qu'en appuyant sur Alt+Entrée on entrait dans les propriétés et donc dans le code... J'ai essayé de bloquer les touches par cette fonction trouvée sur internet : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 33, 34, 9, 18 KeyCode = 0 End Select end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne toujours. Merci d'avance pour vos conseils Herve
Bonjour Hervé
Voici une procédure qui fait le traitement que tu veux et teste aussi la combinaison des touches ALT+F11 pour éviter de basculer dans les modules VBA. (Adaptée de la MSDN). Je l'ai faite dans le but de la mettre dans un module standard d'Access car tu risques d'en avoir besoin sur tous tes formulaires.
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As Integer) Dim AltDown, Txt As String Const vbAltMask = 4 AltDown = (ToucheShift And vbAltMask) > 0 If UnCode = vbKeyReturn And AltDown Then Txt = "ALT+ENTREE" MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _ "Touches interdites", vbCritical, "Newsgroup Access" KeyCode = 0 End If If UnCode = vbKeyF11 And AltDown Then Txt = "ALT+F11" MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _ "Touches interdites", vbCritical, "Newsgroup Access" KeyCode = 0 End If End Sub
et sur la procédure Keydown du formulaire :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) BlocageTouchesSensibles KeyCode, Shift End Sub
Si ton formulaire a une zone de texte ou d'autres types de contrôles, il faudra aussi appeler cette procédure.
Espérant que ca réponde à ton besoin.
A+ Eric
"Herve Matous" écrivait :
Bonjour,
Je reposte car la réponse précédente ne semble pas
convenir.
Je viens de me rendre compte qu'en appuyant sur
Alt+Entrée on entrait dans les propriétés et
donc dans le code... J'ai essayé de bloquer les touches
par cette fonction trouvée sur internet :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As
Integer)
Select Case KeyCode
Case 33, 34, 9, 18
KeyCode = 0
End Select
end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne
toujours.
Merci d'avance pour vos conseils
Herve
Bonjour Hervé
Voici une procédure qui fait le traitement que tu veux et teste aussi la
combinaison des touches ALT+F11 pour éviter de basculer dans les modules
VBA. (Adaptée de la MSDN). Je l'ai faite dans le but de la mettre dans un
module standard d'Access car tu risques d'en avoir besoin sur tous tes
formulaires.
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As
Integer)
Dim AltDown, Txt As String
Const vbAltMask = 4
AltDown = (ToucheShift And vbAltMask) > 0
If UnCode = vbKeyReturn And AltDown Then
Txt = "ALT+ENTREE"
MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _
"Touches interdites", vbCritical, "Newsgroup Access"
KeyCode = 0
End If
If UnCode = vbKeyF11 And AltDown Then
Txt = "ALT+F11"
MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _
"Touches interdites", vbCritical, "Newsgroup Access"
KeyCode = 0
End If
End Sub
et sur la procédure Keydown du formulaire :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
BlocageTouchesSensibles KeyCode, Shift
End Sub
Si ton formulaire a une zone de texte ou d'autres types de contrôles, il
faudra aussi appeler cette procédure.
Bonjour, Je reposte car la réponse précédente ne semble pas convenir. Je viens de me rendre compte qu'en appuyant sur Alt+Entrée on entrait dans les propriétés et donc dans le code... J'ai essayé de bloquer les touches par cette fonction trouvée sur internet : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 33, 34, 9, 18 KeyCode = 0 End Select end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne toujours. Merci d'avance pour vos conseils Herve
Bonjour Hervé
Voici une procédure qui fait le traitement que tu veux et teste aussi la combinaison des touches ALT+F11 pour éviter de basculer dans les modules VBA. (Adaptée de la MSDN). Je l'ai faite dans le but de la mettre dans un module standard d'Access car tu risques d'en avoir besoin sur tous tes formulaires.
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As Integer) Dim AltDown, Txt As String Const vbAltMask = 4 AltDown = (ToucheShift And vbAltMask) > 0 If UnCode = vbKeyReturn And AltDown Then Txt = "ALT+ENTREE" MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _ "Touches interdites", vbCritical, "Newsgroup Access" KeyCode = 0 End If If UnCode = vbKeyF11 And AltDown Then Txt = "ALT+F11" MsgBox "Vous avez appuyé sur " & Txt & vbCrLf & _ "Touches interdites", vbCritical, "Newsgroup Access" KeyCode = 0 End If End Sub
et sur la procédure Keydown du formulaire :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) BlocageTouchesSensibles KeyCode, Shift End Sub
Si ton formulaire a une zone de texte ou d'autres types de contrôles, il faudra aussi appeler cette procédure.
Espérant que ca réponde à ton besoin.
A+ Eric
3stone
Salut,
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As Integer) Dim AltDown, Txt As String
Oui... mais un simple:
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then KeyCode = 0 MsgBox "blabla..." End If
sur le KeyDown ne suffit pas ?
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As
Integer)
Dim AltDown, Txt As String
Oui... mais un simple:
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then
KeyCode = 0
MsgBox "blabla..."
End If
sur le KeyDown ne suffit pas ?
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Public Sub BlocageTouchesSensibles(UnCode As Integer, ToucheShift As Integer) Dim AltDown, Txt As String
Oui... mais un simple:
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then KeyCode = 0 MsgBox "blabla..." End If
sur le KeyDown ne suffit pas ?
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Herve Matous
Super ! Merci à vous 2 pour vos conseils. C'est toujours aussi agréable de pouvoir compter sur la communauté. Herve
-----Message d'origine----- Bonjour, Je reposte car la réponse précédente ne semble pas convenir. Je viens de me rendre compte qu'en appuyant sur Alt+Entrée on entrait dans les propriétés et donc dans le code... J'ai essayé de bloquer les touches par cette fonction trouvée sur internet : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 33, 34, 9, 18 KeyCode = 0 End Select end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne toujours. Merci d'avance pour vos conseils Herve
.
Super !
Merci à vous 2 pour vos conseils.
C'est toujours aussi agréable de pouvoir compter sur la
communauté.
Herve
-----Message d'origine-----
Bonjour,
Je reposte car la réponse précédente ne semble pas
convenir.
Je viens de me rendre compte qu'en appuyant sur
Alt+Entrée on entrait dans les propriétés et
donc dans le code... J'ai essayé de bloquer les touches
par cette fonction trouvée sur internet :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As
Integer)
Select Case KeyCode
Case 33, 34, 9, 18
KeyCode = 0
End Select
end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne
toujours.
Merci d'avance pour vos conseils
Herve
Super ! Merci à vous 2 pour vos conseils. C'est toujours aussi agréable de pouvoir compter sur la communauté. Herve
-----Message d'origine----- Bonjour, Je reposte car la réponse précédente ne semble pas convenir. Je viens de me rendre compte qu'en appuyant sur Alt+Entrée on entrait dans les propriétés et donc dans le code... J'ai essayé de bloquer les touches par cette fonction trouvée sur internet : Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 33, 34, 9, 18 KeyCode = 0 End Select end sub
mais si le Alt (18) est bloqué, le Alt+Entrée fonctionne toujours. Merci d'avance pour vos conseils Herve
.
Eric
Bonjour Pierre
Oui... mais un simple:
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then KeyCode = 0 MsgBox "blabla..." End If
sur le KeyDown ne suffit pas ?
Ouiiiii et pour améliorer autant conseiller de définir la propriété Aperçu des Touches (KeyPreview)(Onglet Evènements) du formulaire à Oui, ce qui devrait éviter d'appeler le code sur chacun des contrôles.
Non ?
A+ Eric
Bonjour Pierre
Oui... mais un simple:
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then
KeyCode = 0
MsgBox "blabla..."
End If
sur le KeyDown ne suffit pas ?
Ouiiiii et pour améliorer autant conseiller de définir la propriété Aperçu
des Touches (KeyPreview)(Onglet Evènements) du formulaire à Oui, ce qui
devrait éviter d'appeler le code sur chacun des contrôles.
If (KeyCode = 13 And Shift = 4) Or (KeyCode = 122 And Shift = 4) Then KeyCode = 0 MsgBox "blabla..." End If
sur le KeyDown ne suffit pas ?
Ouiiiii et pour améliorer autant conseiller de définir la propriété Aperçu des Touches (KeyPreview)(Onglet Evènements) du formulaire à Oui, ce qui devrait éviter d'appeler le code sur chacun des contrôles.