Action quand Ctrl + Clic droit

Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    il n'y a pas besoin de code.
    Lis ceci:

    http://www.info-3000.com/vbvba/raccourciclavier.php
    0
    1. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      Très intéressant. Cependant, je ne vois pas comment faire pour le "RightClick"?
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      De plus, le BeforeRightClic ne marche pas dans la mesure ou j'appuie sur la touche Ctrl en même temps...
      0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Tu peux aussi lancer ta macro à partir du menu contextuel:

    http://www.excelabo.net/excel/remplacer_menu_contextuel
    0
    1. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        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
    4. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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