Worksheet_SelectionChange & Worksheet_BeforeRightClick

Fermé
Guinpin54 Messages postés 13 Date d'inscription mercredi 16 septembre 2015 Statut Membre Dernière intervention 23 septembre 2016 - 13 mai 2016 à 11:12
Bonjour tout le monde,

Je rencontre actuellement un petit soucis en VBA sous Excel 2010.
Je cherche à faire des événements sur ma Worksheet lors d'un clique sur une cellule. J'aimerais trois types de réponse : clique gauche, droit, et clique sur molette.

Mon premier problème vient de mon SelectionChange. J'ai donc un script dans mon SelectionChange, un second dans mon BeforeRightClick. Cependant, le premier est prioritaire sur le deuxième et s'active même en cas de clique droit. Comment le désactiver? J'ai vu sur des forums qu'il était possible d'utiliser des booléens, mais l'ordre d’exécution me semble flou.

Il faudrait de plus que je rajoute un événement sur le clique du milieu. J'ai cru comprendre qu'une autre méthode était possible pour détecter le type de clique à l'aide de MouseDown, mais je ne connais pas la syntaxe.

Une bonne âme pour m'éclairer? :)

PS : mon code est le suivant, au cas ou, même si ce n'est pas très relevant

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target.Font.ColorIndex = 40
Target.Interior.ColorIndex = 40
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Not (IsEmpty(Target)) And Not (IsArray(Target)) And (Target.Interior.ColorIndex = 48)) Then
If Range("A3").Value = "D" Then
MsgBox ("Tu as déja perdu, tricheur!")
[...] Loooooooong texte inutile pour vous
MsgBox ("Tu as gagné, félicitation!")
End If
End If
End Sub