Gestion poussée de la souris

  • Initiateur de la discussion Minick
  • Date de début
M

Minick

Guest
Bonjour à tous,

Je cherche à gerer tous les evenements de la souris en dehors des evenements "classic" d'excel.

Je m'explique:
Lorsque l'on fait un click droit par exemple:
l'evenement SelectionChange intervient avant l'evenement BeforeRightClick.

Je voudrai effectuer un test dans l'evenement SelectionChange pour savoir si l'on a fait un click droit ou simplement une selection par click gauche.

Voila un exemple de ce que je voudrai faire
J'espere avoir été assez clair

Merci de vos reponses

@+

Minick
 
V

vincent

Guest
bonjour,
pourrais tu etre un peu plus precis car en fonction de ce que tu veux faire l'evenement beforerightclick pourrais parfaitement convenir car la varaible target contient la meme cellule que dans l'evenement selectionchange
 
M

Minick

Guest
Salut,

En fait, je veux faire une procedure sur le SelectionChange et une autre sur le RightClick mais biensur ne pas faire la procedure du SelectionChange dans ce cas.

Ce qui me pose probleme car le SelectionChange intervient avant le RightClick c'est pour ca que je veux tester le click.

J'espere etre plus precis

Merci

@+

Minick
 
S

STéphane

Guest
bonour


d'après moi cela vaut pas grand chose mais voyons ce que vous en pensez :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
if isempty(cancel)=false then msgbox "vous avez cliqué à droite, j'actionne ma macro X":call macrox
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if isempty(cancel)=true then exit sub
End Sub
 
M

Minick

Guest
Salut,

Ooops, excusez moi j'ai oublié de mettre le resultat de la proposition de Stephane.

Alors, malheureusement ca ne marche pas.

Il doit surement etre sur excel97 comme vincent ou une autre version que 2000

Merci pour la proposition

Je suis toujours preneur si kelkun pouvait me donner une solution

@+
Minick

PS: encore desolez de ne pas avoir repondu
 
M

Minick

Guest
Bonjour tlm,

J'ai trouvé un moyen tout bete pour contourner le probleme (je sais pas pkoi j(y ai pas pensé avant), c'est basé sur la solution que vincent m'avait soumise.

pour ce que ca interesse voila le resultat de mes tests:

Option Explicit
Public ClickSelection As Boolean

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Right Click"
If ClickSelection = True Then: MsgBox "SelectionChange - " & Target.Address
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ClickSelection = True
End Sub

Comme indiqué tout au long de ce fil, cela ne s'applique qu'a partir de la version 2000 d'excel, car avant il semblerait que l'evenement BeforeRightClick soit géré avant le SelectionChange.

Merci à ceux qui se sont penchés sur mon problème?

@+

Minick
 

Discussions similaires