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

VBA Access Discussion :

[AC-2010] : Sélection d'un élément Treeview par clavier


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de Jordmund
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 181
    Points : 118
    Points
    118
    Par défaut [AC-2010] : Sélection d'un élément Treeview par clavier
    Bonjour,

    J'ai bien contruit mon Treeview.
    Lorsque je clique sur un noeud, j'affiche les informations souhaitées (grace à l'évenement "_MouseUp").

    Mon problème est que je souhaiterai faire la même chose lorsque l'utilisateur navigue dans le Treeview avec les flèches du clavier.
    Il peut en effet naviguer dans le Treeview mais le code permettant l'affichage ne se lance pas (normal, l'évenement "_MouseUp" n'arrive pas).

    Quel est l'évenement qui pourrait permettre cela ?

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 261
    Points
    34 261
    Par défaut
    Salut,

    regarde du côté des events de clavier (keydown).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Exemple sur un formulaire Excel
    Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        MsgBox KeyCode & " plop"
    End Sub
    les valeurs des "flèches" étant

    37(gauche)
    38(haut)
    39(droite)
    40(bas)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier Avatar de Jordmund
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 181
    Points : 118
    Points
    118
    Par défaut
    Salut,

    Merci pour l'info mais ca ne fonctionne pas.
    Il ne reconnait pas l'évenement "_KeyDown"

  4. #4
    Membre régulier Avatar de Jordmund
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 181
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Je complete ma réponse.

    J'ai ajouté le code suivant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        MsgBox KeyCode & " plop"
    End Sub
    Lorsque j'affiche mon formulaire, j'ai un message d'erreur comme quoi "l'expression MouseMove est à l'origine d'une erreur".
    Et donc aucun de mes events n'est reconnu (lors d'un click il m'affiche "l'expression MouseDown est à l'origine d'une erreur"), etc

    Il faut peut etre que je rajoute une library ? Je suis sous Access 2010.

  5. #5
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Si je ne me trompe, il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)
        MsgBox KeyCode & " plop"
    End Sub
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  6. #6
    Membre régulier Avatar de Jordmund
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 181
    Points : 118
    Points
    118
    Par défaut
    Merci de ta réponse mais j'avais testé, ca ne fonctionne pas.

    C'est bizarre car j'ai aussi testé les events KeyUp & KeyPress : KeyUp se comporte de la même manière que KeyDown (ca plante le treeview lorsque la souris MouseMove dessus), par contre le KeyPress ne plante rien mais ne se lève jamais.

    C'est peut etre un problème de library : j'ai installé il y a quelques temps MSCOMCTL.OCX pour pouvoir jouer avec les treeview. Je vois sur le net que ces events tournent avec MSComCtlLib. Est ce la même chose ?
    Je connais pas grand chose la dessus et en plus j'ai pas accès facilement aux droits admin sur mon poste donc j'aimerai comprendre avant de me lancer la dedans...

Discussions similaires

  1. Sélection d'un élément de TreeView
    Par Just-Soft dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/09/2008, 13h48
  2. Réponses: 15
    Dernier message: 12/04/2007, 15h14
  3. [VB.NET] Selectionner un noeud du treeview par le code
    Par Elbarto dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/02/2006, 10h49
  4. Réponses: 11
    Dernier message: 15/04/2005, 15h42
  5. sélection d'une ligne DBGrid par clic
    Par duffman dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/05/2004, 13h45

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