RECUPERER UN CONTROL "Ctrl + C"

Résolu
Bonjour,
est-il possible de savoir si on a utiliser "Ctrl + C" dans une macro excel et recuperer son code.
merci de votre reponse
Configuration: Windows XP Internet Explorer 6.0

8 réponses

  1. RE-bonjour,
    peut-on savoir d'una facon ou d'une autre qu'on a cliqué sur "Crtl + C" dans un fichier exce (macro) ??
    merci
    0
    1. il faut tester sur copier puisque le CTRL+ C signifier copier
      0
      1. Bonjour,
        comment je peux capter l'evenement "Ctrl+C" c'est à dire si quelqu'un fait Ctrl+C j'affiche un message
        merci de votre aide
        0
      2. @bfiguigRe-bonjour à tous,
        je vais essayer d'être un peu plus clair :

        comment pourrais-je faire en cliquant sur "Ctrl+C" pour annuler une action dans une macro.
        donc si j'arrive à recuperer l'adresse (le code d'evenement) de "Ctrl+C", ça sera bon pour moi.

        merci à vous tous
        0
      3. @bfiguigBonjour,
        voila, j'ai trouvé comment capter un evenement par exemple si on appui sur "TAB" j'excute une procedure et le code que j'utilise dans la macro est le suivant : Application.OnKey Key:="{TAB}", procedure:="MaProc"
        mais moi je veux executer une procedure lorsque j'appui sur "Ctrl+C" et le code est le suivant :
        Application.OnKey Key:="^C", procedure:="MaProc"

        mais il ne se passe rien.

        j'ai fais même des test avec la touche "ENTRER" et ça marche : Application.OnKey Key:="{ENTRER}", procedure:="MaProc"

        je ne sais pas pourquoi ça ne marche pas avec "Ctrl+C"

        merci de votre aide
        0
    2. Contributeur
      Bonjour,

      il suffit de donner un raccourci à ta macro.
      'outils / macro / macros...' puis bouton options...

      Mais il est formellement déconseillé d'utiliser les raccourcis claviers usuels
      Laisse-les fonctionnels pour les utilisateurs.

      Et je ne vois pas le rapport avec "comment pourrais-je faire en cliquant sur "Ctrl+C" pour annuler une action dans une macro"
      Déjà pour annuler une action c'est ctrl+z, ctrl+c c'est copier.
      D'autre part tu ne peux pas annuler une action faite par macro. C'est à toi de sauvegarder les valeurs avant, et de les restaurer si besoin.

      eric
      1
      1. Bonjour et merci pour ta reponse,

        je vais essayer de t'expliquer ce que je veux exactement et tu me dira si c'est faisable.

        voila mon code :

        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If RAZ_FEUILLE Then Exit Sub
        Ligne_En_cours = Selection.Row
        Colonne_En_cours = Selection.Column
        Dim lInd, cInd
        lInd = Ligne_En_cours
        cInd = Colonne_En_cours

        If "Ctrl+c" pas enfoncé Then
        If cInd = 1 And Cells(lInd, 1) = "" And Ligne_En_cours > 4 Then
        Cells(lInd, 1) = "TBS_"
        End If
        End If

        End Sub

        en fait je veux quand je click sur "Ctrl+c", je ne veux executer pas cette condition :

        If cInd = 1 And Cells(lInd, 1) = "" And Ligne_En_cours > 4 Then
        Cells(lInd, 1) = "TBS_"
        End If

        c'est pourquoi je veux recuperer le code ou l'adresse de l'evenement "Ctrl+c"

        merci
        0
    3. Modérateur
      Salut,
      Si j'ai bien compris ce qu'il veux c'est interdire de faire CTRL + C dans son classeur. Peut être pas l'interdire, mais capter l'évènement (lorsque l'utilisateur tape CTRL + C) et lancer une procédure immédiatement. Du style lorsque l'utilisateur tape CTRL + C une msgbox se lance... Enfin si j'ai bien saisit...
      0
      1. c'est exactement ça
        0
    4. Contributeur
      Ben je ne vois pas trop l'interet d'interdire le copier mais tu n'as qu'à faire une macro vide ou avec un msgbox ayant ce raccourci...
      0
      1. je ne veux pas interdire le "Ctrl+c" mais plus tôt capter l'evenement pour l'exploiter à autre chose.
        en general y a t il un moyen de capter n'importe quel evenement et avoir son code.
        merci
        0
    5. Contributeur
      Bon hé !!!! tu fais un effort de lecture stp :
      il suffit de donner un raccourci à ta macro.
      'outils / macro / macros...' puis bouton options...
      0
      1. c'est tres simple
        1- il tu suffit de donner le racourci CTRL+C a votre macro
        comme ca quand tu clicke sur CTRL+c la procedure se declanche automatiquement
        0
        1. Modérateur
          Salut,
          Oui c'est ce qu'explique Eriiic depuis le le mercredi 19 août 2009 à 11:24:35 post 6...
          0
      2. desolé j'ai pas fait attention
        0