XL 2010 clic droit = clic gauche

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Toujours en amélioration de mon classeur de travail, je me trouve devant une nouvelle enigme LOL
J'ai encore besoin de votre aide si précieuse.

Voici le souci :
Vous le verrez dans le classeur joint,
dans le code de la feuille, j'ai une macro qui efface les infos en colonnes : M, N et O quand on clique de G7 à H33

le clic "DROIT", n'est pas considéré comme un clic et la macro ne s'exécute pas

Est-il possible de coder pour que le clic DROIT soit considéré comme un clic GAUCHE ?


Un grand merci si solution il y a.

Très bonne journée à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • Clic droit-Clic gauche SI.xlsm
    80.4 KB · Affichages: 35
  • Test clic droit = clic.xlsm
    80.8 KB · Affichages: 41

Lone-wolf

XLDnaute Barbatruc
Bonjour Lionel :)

À moins d'inverser le clic de la souris dans les paramètres, j'ai un doute. Fait un essai en modifiant gauche par droite.

VB:
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    Public Const MOUSEEVENTF_LEFTDOWN = &H2
    Public Const MOUSEEVENTF_LEFTUP = &H4

Et pour lutiliser

VB:
Dim p As Point
            p.X = La position en X
            p.Y = La position en Y
            Cursor.Position = p
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 'Enfonce le bouton de la souris
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) ' le relève
 

ERIC S

XLDnaute Barbatruc
Bonjour

edit : bonjour à tous...

a regarder
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Target.Select
Application.EnableEvents = False
Application.ScreenUpdating = False
If Not Intersect(Target, Range("G7:G20000")) Is Nothing And Target.Count = 1 Then
    Target.Offset(0, 6) = ""
    Target.Offset(0, 7) = ""
    Target.Offset(0, 8) = ""
    Target.Select
    Selection.Copy
    End If
  
If Not Intersect(Target, Range("h7:h20000")) Is Nothing And Target.Count = 1 Then
ActiveSheet.Unprotect Password:="Krameri"
    Target.Offset(0, 5) = ""
    Target.Offset(0, 6) = ""
    Target.Offset(0, 7) = ""
    Target.Select
    Selection.Copy
    End If
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Merci Lone,

J'ai mis ce code mais ça ne marche pas :
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("G7:G20000")) Is Nothing And R.Count = 1 Then
    Target.Offset(0, 5) = ""
    Target.Offset(0, 6) = ""
    Target.Offset(0, 9) = ""
    Target.Offset(0, 15) = ""
    Target.Select
    Selection.Copy
    Target.Offset(0, 5).Select
    End If
Cancel = True
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Eric,

Merci de m'avoir répondu.
Ton code fonctionnement parfaitement quand on clique droit mais plus rien ne se passe si on clique GAUCHE LOL

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Target.Select
Application.EnableEvents = False
Application.ScreenUpdating = False
If Not Intersect(Target, Range("G7:G20000")) Is Nothing And Target.Count = 1 Then
    Target.Offset(0, 6) = ""
    Target.Offset(0, 7) = ""
    Target.Offset(0, 8) = ""
    Target.Select
    Selection.Copy
    End If
If Not Intersect(Target, Range("h7:h20000")) Is Nothing And Target.Count = 1 Then
ActiveSheet.Unprotect Password:="Krameri"
    Target.Offset(0, 5) = ""
    Target.Offset(0, 6) = ""
    Target.Offset(0, 7) = ""
    Target.Select
    Selection.Copy
    End If
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub

Est-il possible de conserver l'action clic GAUCHE ?
Je remets le classseur test avec ton code.
Amicalement,
Lionel,
 

Pièces jointes

  • Test clic droit = clic.xlsm
    16.2 KB · Affichages: 32
Dernière édition:

Si...

XLDnaute Barbatruc
Bonjour

et comme cela ?
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    ActiveSheet.Unprotect Password:="Krameri"
    If Not Intersect(R, Range("G7:G20000")) Is Nothing And R.Count = 1 Then
    Application.EnableEvents = 0
    R(1, 7).Resize(, 3) = ""
    R(1, 0).Select
    Application.EnableEvents = True
    End If
    ' ActiveSheet.protect Password:="Krameri"
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal R As Range, Cancel As Boolean)
    If Intersect(R, Range("h7:h20000")) Is Nothing Then Exit Sub
    ActiveSheet.Unprotect Password:="Krameri"
    Application.EnableEvents = 0
        R(1, 6).Resize(, 3) = ""
    Application.EnableEvents = 1
    Cancel = 1: R(1, -1).Select
   ' ActiveSheet.protect Password:="Krameri"
End Sub

Le Section.Copy ne sert à rien ici (?).
 

Pièces jointes

  • Clic droit-Clic gauche.xlsm
    14.3 KB · Affichages: 39

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai travaillé sur les classeurs d'Eric et de SI o_O

Mais j'ai encore des petits soucis :
- en clic droit, le code exécute également le code : Private Sub Worksheet_SelectionChange(ByVal R As Range)
- en clic droit et réponse NON, le copier apparait et je ne le veux pas LOL


Je cherche une solution mas je ne trouve pas.
Pourriez-vous encore m'aider.
Je joins le classeur test avec les explications.
Un grand merci à vous tous,
Bon WE.
Amicalement,
Lionel,
 

Pièces jointes

  • Test Clic droit-Clic gauche SI.xlsm
    78.2 KB · Affichages: 31
  • Test clic droit = clic.xlsm
    81.1 KB · Affichages: 31
Dernière édition:

Si...

XLDnaute Barbatruc
Re

Tu ne donnes que des informations partielles en changeant de sujet !

Quel est l’intérêt du clic droit ? Quel est le résultat attendu ? Trois mots, 1 mot ou du vide ?

Voilà une dernière proposition avec ce que j’ai cru comprendre (de ce que tu n’as pas dit : rappel de N° ?) : la sélection d'un n° regroupe les otpions.
 

Pièces jointes

  • Clic Options.xlsm
    23 KB · Affichages: 35

Discussions similaires

Réponses
25
Affichages
725

Statistiques des forums

Discussions
311 712
Messages
2 081 802
Membres
101 819
dernier inscrit
lukumubarth