Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 03h42   #1
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Par défaut Intercepter la touche "Suppr" dans un treeview

Bonjour,
J'utilise le treeview :Microsoft Treeview Control 6.0 (SP6).

Je souhaiterais lancer une procédure en appuyant sur la touche "Suppr" d'un noeud d'un TreeView (objectif : Supprimer l'enregistrement sous-jacent). Cela me permettrait d'économiser un bouton et de rendre la procédure de suppression plus intuitive.
Malheureusement je n'arrive pas à intercepter cette action avec les évènements disponibles. Existe-t-il un moyen ?
Merci d'avance pour vos expériences.
Cordialement
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 09h46   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 227
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 227
Points : 9 935
Points : 9 935
Envoyer un message via Skype™ à Domi2
Bonjour,

Ta question ne me semble pas très clair.

Citation:
sur la touche "Suppr" d'un noeud d'un TreeView
Tu veux dire par là que tu veux lancer une procédure en utilisant la touche Suppr du clavier qui doit s'appliquer sur le noeud sélectionné dans le treeview, c'est bien cela ?

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 13h30   #3
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonjour Domi2,
Oui c'est exactement cela.
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 14h02   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 227
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 227
Points : 9 935
Points : 9 935
Envoyer un message via Skype™ à Domi2
Déjà, pour vérifier si la touche Suppr a été utilisée.

Dans les propriétés du formulaire, mettre Aperçu des touches à Oui.

Ensuite, sur l'événement Sur touche appuyée :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub NomDeTonControle_KeyDown(KeyCode As Integer, Shift As Integer)
 
    If KeyCode = vbKeyDelete Then
 
        'Si nécessaire, il est possible d'annuler l'entrée de la touche
        'par exemple pour éviter une suppression non désirée      
        'KeyCode = 0
 
        'Vérification
        MsgBox "Touche Suppr appuyée"
 
        'Suite du code...    
 
    End If
 
End Sub
Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 16h42   #5
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonjour Domi2,

Merci pour ta réponse qui m'a permis de comprendre pourquoi mon code ne fonctionnait pas !
En fin de compte j'avais appliqué ce type de code uniquement sur l'évènement :
Code :
1
2
3
4
5
6
Private Sub TreeView4_KeyDown(KeyCode As Integer, ByVal Shift As Integer)
Debug.Print KeyCode, Shift
    If KeyCode = vbKeyDelete Then
        Debug.Print "del_tvw"
    End If
End Sub
Dans ce cas de figure, l'action sur la touche "Suppr" n'est pas détectée, pourquoi (???). En appliquant, par contre, le code sur l'évènement du formulaire

Code :
1
2
3
4
5
6
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print KeyCode, Shift
    If KeyCode = vbKeyDelete Then
        Debug.Print "del_Form"
    End If
End Sub
Je peux effectivement lancer ma procédure

J'ai par contre constaté un fonctionnement bizarre que je ne m'explique pas.
J'ai laissé les 2 codes (un sur le treeview et un sur le formulaire). Apparemment le code sur le treeview ne passe pas par le sauf si je mets un point d'arrêt dans la procédure "Form_KeyDown" et que je fais une exécution en pas à pas (!?).
Si quelqu'un a une explication pour ma "culture générale" elle serait bien venue.

Merci en tout cas pour ton aide.
Cordialement,
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h37.


 
 
 
 
Partenaires

Hébergement Web