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

Macros et VBA Excel Discussion :

Fonction des l'activation d'une touche clavier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Septembre 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 42
    Points : 45
    Points
    45
    Par défaut Fonction des l'activation d'une touche clavier
    Bonjour,

    Voila, je me demandais si il existe une fonction dans woorksheet ou même dans les userforms qui s'active des la détection d'une touche clavier?

  2. #2
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    Bonsoir escalopepane,
    il te faudra t'appuyer sur un methode de l'application Application.OnKey.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Septembre 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 42
    Points : 45
    Points
    45
    Par défaut
    Merci de ta réponse NVCfrm mais je ne pense pas que cette fonction peut s'appliquer dans mon cas.

    Je m'explique:

    Je cherche à faire en sorte que dès que j'appuie sur une touche quelconque, disons "a", je passe un optionbutton.value à true (dans mon userform).

  4. #4
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    re,
    eh bien dans ce cas: lorgne du côté des API. Un peu compliqué à mettre en place, mais bon un programme de gestion bas niveau du clavier pour un programmeur VBA qui veut tout sur un plateau sans se soucier des déclarations et lignes de code faramineuses en dessous, ... reste lourd!
    Une piste avec l'API GetKeyState.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Declare Function GetKeyState Lib "user32.dll" ( _ 
    	 ByVal nVirtKey As Long) As Integer

  5. #5
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Tu crées une macro.
    Tu cliques sur le bouton MACROS sous l'onglet Développeur.
    Cliques sur Options pour affecter un raccourci-clavier à ta macro.
    Ce raccourci fonctionnera à partir des feuilles.

    Pour avoir un raccourci à partir d'un Userform,
    1) Mets la propriété TabStop de tous les controles à False.
    2) Utilise UserForm_KeyDown pour détecter ton raccourci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
     
     If Shift = 2 And KeyCode = 71 Then 'CTRL-G
     Stop
      Call mamacro
     End If
    End Sub

    Docmarti

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Raphael

    Cette question est

    Avez-vous obtenu ici la réponse à votre question ou l'avez-vous trouvée vous-même?
    Si vous avez trouvé seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour la réponse qui vous a aidé.

    Docmarti

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/11/2013, 13h53
  2. Réponses: 2
    Dernier message: 16/05/2006, 23h57
  3. Simuler une touche clavier
    Par micky13 dans le forum Langage
    Réponses: 9
    Dernier message: 17/04/2006, 20h08
  4. Comment remplacer une fonction d une touche clavier
    Par dominic75 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 10/04/2006, 17h09
  5. [Applet]simuler une touche clavier
    Par mat10000 dans le forum Interfaces Graphiques en Java
    Réponses: 19
    Dernier message: 12/12/2003, 16h23

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