lancer une procédure par une combinaison touche clavier + clic de souris

ZZR09

XLDnaute Occasionnel
Bonjour le forum,

voici un état des lieux et ma question:

Ce qui existe déjà:
Dans une feuille, j'ai une procédure événementielle qui m'insère l'heure actuelle lorsque je clique dans une plage de cellules spécifique (en jaune dans le classeur joint).

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim itsc As Range

Set itsc = Application.Intersect(Target, Range("A2:A17"))
If itsc Is Nothing Then Exit Sub 'pour limiter à la sélection'
itsc.Value = Format(Now(), "hh:mm:ss") 'heure ... ça fonctionne'

End Sub

ça, ça fonctionne

Mon problème :
Je souhaite que lorsque j'enfonce une touche (espace par exemple), puis que je clique sur une cellule, la procédure efface la cellule activée.

j'image quelque chose comme:
Code:
...
    
If Touche_Espace = True Then 'Touche_Espace=true c'est là que je ne sais pas comment faire!'
    itsc.ClearContents 'effacer'
Else
    itsc.Value = Format(Now(), "hh:mm:ss") 'heure ... ça fonctionne'
...

mais, je ne sais pas comment lui déclarer :confused:
touche espace + target :confused:
un événement clavier + un événement souris

Voilà, si quelqu'un sait comment faire... je suis preneur.
Merci
 

Pièces jointes

  • événement clic & clavier.xls
    28.5 KB · Affichages: 68

wilfried_42

XLDnaute Barbatruc
Re : lancer une procédure par une combinaison touche clavier + clic de souris

bonjour

utiliser une caractere comme espace pour effectuer une interrution est genant pour les differentes saisies m'enfin

ton classeur en retour :

interruption sur workbook_open ---> detourne la frappe de l'espace
Module 1
Modification de ton interuption worksheets_selectionchange
 

Pièces jointes

  • inter_space.xls
    29.5 KB · Affichages: 81

ZZR09

XLDnaute Occasionnel
Re : lancer une procédure par une combinaison touche clavier + clic de souris

Bonjour Wilfried_42,

Merci pour ta solution ... super rapide!
mais, ...

je suis bien d'accord avec toi:
utiliser une caractere comme espace pour effectuer une interruption est genant pour les differentes saisies ...

je comprends bien ta solution de marqueur mais je ne souhaite pas détourner le fonctions du clavier.
Si je devais me résoudre à faire comme ça, j'utiliserai plutôt une case à cocher qui n'aura pas d'effet secondaire sur les saisies.

En fait, je voudrais obtenir une combinaison clavier + souris; un peu comme un raccourci clavier 'ctrl + C'

D'autre part, j'ai déjà regardé du coté de OnKey (expression.OnKey(Key, Procedure)) c'est presque ça: il faudrait pourvoir remplacer 'Key' par un événement souris.

A+
 

wilfried_42

XLDnaute Barbatruc
Re : lancer une procédure par une combinaison touche clavier + clic de souris

re:

tu peux utiliser une combinaison comme le double click ou le lick droit :

exemple clik droit : si la cellule est vide j'y mets la date sinon j'efface

sinon utiliser ctrl espace pluto que espace

application.onkey "^{ }","mamacro"
 

jmd2

XLDnaute Accro
Re : lancer une procédure par une combinaison touche clavier + clic de souris

hello à vous

on peut supposer que le besoin d'origine est d'effacer très rapidement des tonnes de cases dispersées sur une feuille (si elles sont en colonne ou enligne, pas besoin de faire compliqué)

Mais ton principe présente un danger à l'utilisation :effacer une case par mégarde, avec un clic "à côté de la plaque"

Il vaudrait mieux associer une macro "effacer" à une touche de fonction F2 par exemple.
Clic dans une case, F2.
tu verras, c'est plus fiable pour l'utilisateur, malgré la légère perte de temps.

************************************************************
 

ZZR09

XLDnaute Occasionnel
Re : lancer une procédure par une combinaison touche clavier + clic de souris

Bonjour Wilfried_42, jmd2, le forum,

Merci à vous deux pour vos réponses,

je retiens la solutions clic gauche/ clic droit pour deux macros différentes... mais aussi la mise en garde de jmd2 en ce qui concerne le danger que représente la possibilité de supprimer aussi facilement des données.

En fait la deuxième macro ne sera pas un effacement des données; c'était pour l'exemple. ce sera plutôt une recopie de données: donc beaucoup moins sensibles.

je vais donc pourvoir affecter mes deux macros aux deux boutons de la souris et l'effacement à la touche F2. merci à tous les deux ;)



Cependant, on ne répond pas exactement à la question : lancer une macro grâce à une combinaison clavier + souris.



par curiosité, je suis toujours à la recherche de cette méthode ... et qui sait, peut-être que d'autres personnes en auront aussi besoin.

nous avons contourné le problème mais, la question reste ouverte :D Avis aux amateurs et suggestions éclairées
 

Discussions similaires

Statistiques des forums

Discussions
312 584
Messages
2 089 976
Membres
104 323
dernier inscrit
NabBEn