Action quand Ctrl + Clic droit

Bonjour,

Je cherche un code me permettant d'exécuter un code si un ctrl + clic droit a été fait sur une cellule.

Merci d'avance.

Cordialement.

4 réponses

  1. Contributeur
    Tu peux le mettre dans l'évènement de ta feuille comme ceci:

    Option Explicit
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    MsgBox "ceci est un test"
    End Sub
    


    Mais le mieux c'est le raccourci clavier.

    Le clic droit à déjà plusieurs fonctions!

    0
    1. Bonjour,

      Je vous explique un peu le principe.

      En fait, on utilise un logiciel de "Clic to call". Le clic to call s'active lorsque je fais Ctrl + clic droit sur la cellule excel contenant le numéro de téléphone. Donc en fait le but serait de colorer les numéros déjà appelés. Et pour automatiser la chose (plutôt que de colorer les cellules à la main), j'aurais souhaité colorer la cellule dès que le numéro a été appelé. Pour colorer les cellules, pas de problème, pour lancer le code sur un "Ctrl + clic droit", c'est une autre histoire...

      Il y a sinon peut-être une autre solution, le logiciel de clic to call fait un copier automatique sur la cellule contenant le numéro pour le coller automatiquement chez lui. Donc, peut-être qu'il faudrait plutôt utiliser un code disant que si la fonction "Copier" a été utilisée, la cellule se colore...

      Merci encore de votre aide.

      Cordialement.
      0
    2. Sinon j'avais une autre solution, c'était d'utiliser un autre raccourci pour lancer mon clic to call, à savoir Ctrl + Shift + Clic droit. Donc j'aurais pu mettre un code :

      Application.OnKey "+^", "test"


      Mais cela ne marche pas, il semblerait qu'il faille une autre touche après. je ne peux pas utiliser que du Ctrl et Maj, il faudrait un Ctrl + maj + a par exemple. Mais ce n'est pas ce que je veux.
      0
    3. De plus, le BeforeRightClic ne marche pas dans la mesure ou j'appuie sur la touche Ctrl en même temps...
      0
  2. Contributeur
    Tu peux aussi lancer ta macro à partir du menu contextuel:

    http://www.excelabo.net/excel/remplacer_menu_contextuel
    0
    1. La macro perd alors tout son intérêt. Le but est qu'à chaque fois qu'un utilisateur utilise le Ctrl + clic droit pour appeler un numéro, celui-ci se colore.
      0
  3. Bonjour a tous,

    appui sur touche crtl + clic droit souris sur une cellule d'une feuille:

    Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
    Const VK_CONTROL = 17       'Touche "Control".
    
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
        Cancel = True
        If GetAsyncKeyState(VK_CONTROL) <> 0 Then
            MsgBox "Touche CTRL Appuyee"
        End If
    End Sub


    https://support.microsoft.com/fr-fr/help/465098
    0
    1. Bonjour,

      Merci f894009. Par contre, j'ai copié votre code et je l'ai collé sur le code de la feuille. Rien ne se passe lorsque je fais Ctrl + clic droit...
      0
    2. Si je ne fais qu'un clic droit, il me dit "Erreur de compilation, Sub ou Fonction non définie" et me surligne GetAsyncKeyState.
      0
    3. Ok... bon du coup je viens de comprendre. Si je quitte mon logiciel de Click to Call, le code marche parfaitement. Donc en fait, la macro Excel ne s'exécute pas si le logiciel est activé... Je ne comprend pas pourquoi.

      Pourriez-vous me dire comment exécuter un code si une cellule a été copiée.

      Par exemple, si A1 a été copié (avec les pointillés qui tournent), alors A1 se colore en jaune.

      Je vais essayer comme ça.

      Merci d'avance.
      0
    4. @KuartzRe,

      fichier exemple pour fonctionnement : https://www.cjoint.com/c/EHunE22CA5f

      Par exemple, si A1 a été copié (avec les pointillés qui tournent), alors A1 se colore en jaune. je regarde la chose
      0
    5. Le fichier marche très bien. Par contre dès que je lance mon logiciel de clic to call, on dirait qu'il prend le dessus. Que le code ne s'exécute pas jusqu'au bout parce que le logiciel de clic to call exécute lui-même une action. En tout cas, je suis très déçu que ça ne marche pas, ça aurait dû...
      0