IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Désactiver les raccourcis clavier sur formulaire


Sujet :

IHM

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 243
    Par défaut Désactiver les raccourcis clavier sur formulaire
    Bonjour
    Est-il possible de désactiver les "ctrl+pagedown" "F5" etc. qui font changer mes enregistrements actifs de mon formulaire alors qu'il est piloté via des listes avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.Find "[offres_id] = " & Str(Nz(Me![offres_revision], 0))
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
        Set rs = Nothing

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Tu peux filtrer les touches au niveau du formulaire.
    Dans l'onglet «Evénements» de la fenêtre de propriétés du formulaire, mettre la propriété «Aperçu des touches» sur «Oui».
    Ensuite gérer l'événement «Sur touche appuyée»
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
     
    Select Case KeyCode
        ' Touche F5
        Case vbKeyF5
            KeyCode = 0
        ' Page Précédente, Page Suivante
        Case vbKeyPageUp, vbKeyPageDown
            KeyCode = 0
        ' Ctl + Origine, Fin, Haut, Bas
        Case vbKeyHome, vbKeyEnd, vbKeyUp, vbKeyDown
            If (Shift = acCtrlMask) Then KeyCode = 0
    End Select
     
    End Sub
    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 243
    Par défaut
    Merci LedZeppII
    Dommage de devoir faire ça à chaque formulaire
    Les exemples que tu as mis dans les Select Case sont exhaustifs où bien il y aurait d'autres raccourcis pénibles à gérer?

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Re,

    Je ne connais pas tous les raccourcis clavier.

    Tu peux aussi envisager de filtrer le formulaire, plutôt que de te déplacer dedans.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        Dim strFiltre As String, strTxt As String
     
        strTxt = Nz(Me![offres_revision], "")
     
        If Len(strTxt) > 0 Then
           strFiltre = "[offres_id] = " & strTxt
        End If
     
        If strFiltre = "" Then
           Me.Filter = ""
           Me.FilterOn = False
        Else
           Me.Filter = strFiltre
           Me.FilterOn = True
        End If
    Ou bien, tu peux filtrer la source du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim strFiltre As String, strTxt As String
     
        strTxt = Nz(Me![offres_revision], "")
     
        If Len(strTxt) > 0 Then
           strFiltre = "[offres_id] = " & strTxt
        End If
     
        If strWHERE = "" Then
           Me.RecordSource = "SELECT [Clients].[Code client], [Clients].[Société], [Clients].[Ville], [Clients].[Pays], [Flag] FROM Clients;"
        Else
           Me.RecordSource = "SELECT [Clients].[Code client], [Clients].[Société], [Clients].[Ville], [Clients].[Pays], [Flag] FROM Clients" & " WHERE " & strWHERE
        End If
    A+

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2006
    Messages : 243
    Par défaut
    En effet je vais plutôt filtrer le formulaire, d'autant plus que je filtre sur une clef primaire donc je n'aurai qu'un seul enregistrement actif quoi qu'il arrive.
    Merci pour l'astuce, ça m'évitera de m'embêter à gérer les raccourcis clavier.
    Je vais transcrire ça à tous mes formulaires.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2020
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2020
    Messages : 23
    Par défaut
    Bonjour à tous,
    Merci pour ces exemples.

    Mais, j'ai un autre souci,
    Comment désactiver aussi la combinaison des touches ( CTRL + virgule) qui donnent directement l'accès à l'éditeur VBA?

    Merci beaucoup la réponse

Discussions similaires

  1. Désactiver un raccourci clavier sur windows 7
    Par razaonce dans le forum Windows 7
    Réponses: 8
    Dernier message: 25/04/2015, 18h06
  2. [MooTools] Désactiver les raccourci clavier
    Par dercom dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 28/12/2011, 18h29
  3. raccourcie clavier sur formulaire
    Par Commandeur dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/03/2009, 13h32
  4. Réponses: 2
    Dernier message: 18/07/2008, 14h43
  5. Désactiver le Raccourcis vers sur les raccourcis
    Par Furius dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 18/12/2005, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo