Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

affecter macro à "Alt + clic gauche"

  • Initiateur de la discussion Initiateur de la discussion Halffy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Halffy

XLDnaute Occasionnel
Bonjour à tous, & toutes,

Je connais le fait d'attribuer une macro à un raccourci du genre "Ctrl+Maj+lettre"; mais... 😀
Je souhaiterais déclencher ma macro d'un clic gauche (souris) si touche "Alt" enfoncée; et cela, je ne sais pas faire 😱
Pourriez-vous me venir en aide, s'il vous plait.
Je vous joint un fichier avec ma macro, pour que vous constatiez "la chose".
Avec mes Remerciements par avance, Halffy /.
 

Pièces jointes

Re : affecter macro à "Alt + clic gauche"

Bonjour Halffy, Bonjour Pierrot,

à ma connaissance, l'appui sur une touche en même temps qu'un clic ne peut s'effectuer que dans un évènement MouseDown, et la feuille de calcul n'a pas ce type d'évènement.
Donc je ne vois pas trop de solution...
 
Re : affecter macro à "Alt + clic gauche"

Bonjour Pierrot93, tototiti2008, le forum
Tout d'abord, Merci de vous êtes penchés sur ma requête...
Toutefois & par rapport à vos réponses, ma demande peut-elle trouver une solution tout de même ? Ou est-ce réellement impossible ?
Si maintenant cela devait être impossible, avez-vous une autre solution éventuelle à me proposer comme ça au pied levé ?
 
Re : affecter macro à "Alt + clic gauche"

Re, bonsoir toto

peut être une procédure événementielle, se déclenche à chaque changement de selection... A voir s'il y a lieu de contrôler la plage sur laquelle la procédure doit sexécuter.... Code à placetr dans le module de la feuille concernée...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Value = Date + 90
End Sub

bonne soirée
@+
 
Re : affecter macro à "Alt + clic gauche"

Re Pierrot93,

Effectivement, cela marche à chaque fois que je clic sur la feuille; seulement, tu devines bien 🙄 que ma feuille ne se limite pas à cette fonction (sans vouloir te manquer de respect) /

En fait, il faudrait ajouter 2 conditions à la macro:

1. Détecter que la touche "Alt" est enfoncée, pour autoriser le déroulement de la macro.
2. Limiter l'action à la colonne "I"

Penses-tu que cela soit possible ?
 
Re : affecter macro à "Alt + clic gauche"

Re,

pour tester la colonne I :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 9 Then Target.Value = Date + 90
End Sub

Perso, pas de solution pour tester si la touche "ALT" est enfoncée...
 
Re : affecter macro à "Alt + clic gauche"

Re,
Merci Pierrot, c'est déjà un bon début / je vais continuer de me renseigner sur la détection de l'enfoncement de la touche "Alt" de toute façon...
Cordialement, Halffy /.
 
Re : affecter macro à "Alt + clic gauche"

Re-bonjour à tous,

Donc, j'ai "légèrement" progressé dans mes recherches 😀
En effet, je suis en mesure de:
1. Insérer la date du jour dans une cellule, par sollicitation d'un CommandButton
2. Insérer la date à échéance + 90j, par sollicitation du même CommandButton, & si touche "CTRL" enfoncée.
Reste un problème alors: Comment limiter cette action à la colonne "I" uniquement ? 😱
Avec tous mes Remerciement, à nouveau / new Fichier ci-joint bien-sûr.
 

Pièces jointes

Re : affecter macro à "Alt + clic gauche"

Bonjour Hallfy,

je ne connaissais pas GetAsyncKeyState

un essai

Code:
Declare Function GetAsyncKeyState Lib "user32" _
     (ByVal vKey As Integer) As Integer
Sub InsertionDate()
Dim Cellule As Range, CtrlApp As Boolean 'Déclaration de Cellule
    CtrlApp = (GetAsyncKeyState(17) = -32767)
    For Each Cellule In Application.Intersect(Selection, Range("I1:I65536"))
     If CtrlApp Then 'Détection touche "CTRL" enfoncée
         Cellule.Value = Format(Now + 92, "dd/mm/yyyy") 'alors Insertion Date du jour + 90 jours
         Else 'Sinon
         Cellule.Value = Format(Now, "dd/mm/yyyy") 'Insertion Date du jour
     End If
     Next
End Sub

Avec cette fonction on pourrait envisager ta première demande, peut-être...
 
Dernière édition:
Re : affecter macro à "Alt + clic gauche"

re,
Tototiti2008: Si j'applique te solution, la macro ne détecte plus la touche "CTRL" 🙁
Pierrot93: Peux-tu être plus explicite s'il te plait,car j'ai éssayé de faire ce que tu me demandes avant de poster, sans plus de résultat 😱
Je précise que la fonction "GetAsyncKeyState" a été trouver sur le Net; vu mon petit niveau VBA, je n'aurais pu créer cette fonction tout seul.

Rectification Tototiti2008: apparemment il n'y a pas de problème, je re-regarde de plus près...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

G
  • Question Question
Réponses
2
Affichages
871
gaelle31
G
A
Réponses
11
Affichages
1 K
Alain3038
A
M
Réponses
5
Affichages
1 K
mamoune59
M
D
  • Question Question
2 3
Réponses
31
Affichages
4 K
darknigthmare
D
C
Réponses
15
Affichages
2 K
Chris Toff
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…