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
Lionel
prier.gif


Tu met juste Flag ;) ; donc Public Flag as Boolean. Dans la feuille (selection change) Flag = True
Dans (clic-droit) If Flag Then Flag = False la macro - et avant End Sub Flag = True.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Marcel dit : "Je ne comprends pas pourquoi tu mets la même chose dans les deux macros."

Le souci est que l'utilisateur peut cliquer en clic gauche ou en clic droit.
Si un seul code peut permettre l'exécution en cas de clic gauche ou de clic droit, je suis preneur ;)
As-tu au moins essayé d'effectuer la modification que j'ai proposée (désactivation de l'affichage du menu contextuel) sur ton fichier du message #17 ???

Chez moi le fonctionnement est ainsi logique, mais s'il ne correspond pas à ce que tu veux alors il va falloir être beaucoup plus clair sur le fonctionnement que tu veux obtenir et on verra si on arrive à trouver quelque chose correspondant mieux à tes attentes. ;)
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Au final, n'est-ce pas simplement la désactivation de l'affichage du menu contextuel que tu demandes depuis le début ?

J'essaye de comprendre la question car tu dis que le fichier du loup résout ton problème or ça ne semble pas le faire chez moi, donc j'en déduis que je n'ai en fait toujours pas compris la question. :(
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Marcel,
Merci d'être encore là ;)

J'avais tenté ta solution du post 18 mais sans succès.

Voici avec les 2 fichiers joints ou on en est :
- avec le Run
C'est( bon mais ça beug quand je le mets dans mon fichier de travail,

- avec le Flag
C'est bon et ça fonctionne mais me bloque l'exécution d'autres codes et oblige à cliquer droit pour afficher des UserForm
As-tu une solution pour annuler l'effet du Flag ?

Encore un grand merci à vous tous,
Amicalement,
Lionel,
 

Pièces jointes

  • Test Clic droit-Clic gauche bon Run.xlsm
    21 KB · Affichages: 27
  • Test Clic droit-Clic gauche bon flag.xlsm
    21.3 KB · Affichages: 43

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Effectivement, les deux fichiers donnent le même résultat. Ils fonctionnent bien tous les deux.

Mais c'est quand j'intègre les codes dans mon fichier de travail que ça ne marche plus :

- avec le Run
C'est bon mais ça beug quand je le mets dans mon fichier de travail,

- avec le Flag
C'est bon et ça fonctionne mais me bloque l'exécution d'autres codes et oblige à cliquer droit pour afficher des UserForm

Bonne soirée à toi aussi :)
Amicalement,
Lionel,
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir Lionel

Fait un essai avec ceci

VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    
  If Not Intersect(R, Range("h7:h20000")) Is Nothing Then Exit Sub
    If Not Intersect(R, Range("G7:G20000")) Is Nothing And R.Count = 1 Then
        flag = True
        If MsgBox("Je téléphone = OUI    - SINON = NON", vbQuestion + vbYesNo) <> vbNo Then
            R.Offset(0, 6) = ""
            R.Offset(0, 7) = ""
            R.Offset(0, 8) = ""
            R.Select
            Selection.Copy
            flag = False
        End If
    End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal R As Range, Cancel As Boolean)
        flag = True
        If Not Intersect(R, Range("h7:h20000")) Is Nothing Then
        If MsgBox("Je téléphone = OUI    - SINON = NON", vbQuestion + vbYesNo) <> vbNo Then
            R.Offset(0, 5) = ""
            R.Offset(0, 6) = ""
            R.Offset(0, 7) = ""
            R.Select
            Selection.Copy
            flag = False
        End If
    End If
    Cancel = True
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 330
Membres
102 862
dernier inscrit
Emma35400