IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Raccourci clavier activation macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 33
    Par défaut Raccourci clavier activation macro
    Bonjour à tous,

    Tout d'abord un grand merci à celles et ceux qui prendront le temps de s'arrêter sur mon petit soucis.
    Ayant parcouru de long en large developpez.net ainsi que d'autres en vain, je me permets de vous solliciter.
    Peut-être n'est-ce guère possible.

    Topo rapide :

    J'ai trois macros qui font des filtres avancés automatiquement en fonction de critères.

    • La première macro génère un filtre avancé basé sur un seul critère.
    • La deuxième sur le premier critère et sur un second.
    • La troisième sur les deux premiers et sur un troisième.



    Je souhaiterai savoir s'il est possible de créer un raccourci clavier Enter afin d'activer les macros (1ère difficulté), en reconnaissant automatiquement s'il faut activer la Macro 1 (si un seul critère est mentionné dans la zone de critère), la Macro 2 (si les deux premiers critères sont mentionnés) et la Macro 3 (si les trois critères sont mentionnés).

    Voici mes codes pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub Recherche1Critère()
     
    'Ce code permet d'automatiser l'action de filtres avancés :
        'Notre source d'information est bien l'onglet BDD (sont préalablement copiées ici toutes les informations liés au P&L déjà traîtés)
        'Nous sélectionnons la plage de A2 à U139
        'Dans notre onglet de travail, la zone de critère préatablie se situe sur la plage A2 à H3 (de AYANTS-DROIT à NON OEUVRE)
        'Enfin, nous souhaitons que la plage filtrée soit copiée en cellule A13
        Sheets("BDD").Range("A2:U139").AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Range("A2:H3"), CopyToRange:=Range("A13"), Unique:=False
        Range("A3").Select
    End Sub
     
    Sub Recherche2Critères()
     
    'Ce code est quasiment identique à celui d'une recherche mono critère, seule la plage de critère change pour prendre en compte les lignes 2 et 4 :
        Sheets("BDD").Range("A2:U139").AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Range("A2:H4"), CopyToRange:=Range("A13"), Unique:=False
        Range("A3").Select
    End Sub
     
    Sub Recherche3Critères()
     
    'Ce code est quasiment identique à celui d'une recherche mono critère, seule la plage de critère change pour prendre en compte les lignes 2 à 5 :
        Sheets("BDD").Range("A2:U139").AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Range("A2:H5"), CopyToRange:=Range("A13"), Unique:=False
        Range("A3").Select
    End Sub
    Par avance merci grandement pour votre aide,

    arochab

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Tu crée une 4 macro qui sera charger de faire la reconnaissance et c'est celle là que tu va appeler avec ton raccourci clavier. Onglet développeur bouton macros et dans la fenêtre qui s'ouvre, tu choisis la macro puis option et Ctrl+ la lettre que tu veux !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 33
    Par défaut
    Salut Theze,

    Merci beaucoup pour ta réponse,

    Je ne vois pas comment créer une macro chargée de faire la reconnaissance en fonction des critères.
    Effectivement j'ai déjà pu appeler mes macros via du ctrl+(touche) mais je souhaiterai les appeler via la touche Entrée.

    Merci encore

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    mais je souhaiterai les appeler via la touche Entrée
    la touche ENTER est interceptée prioritairement par le système. Tu ne peux lui donner la "vocation" de ton choix.
    Si la touche ENTER est utilisée sur une feuille de calcul (est-ce le cas ? Tu n'en parles nulle part ...) elle provoque un évènement selection_change (à utiliser alors probablement, en conjugaison avec une variable "générale")
    Tes explications ne sont en leur état pas suffisantes pour te guider au-delà.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 33
    Par défaut
    Bonjour unparia,

    Merci beaucoup pour ta réponse.

    La touche ENTER n'est pas utilisée comme bouton d'appel de macros.

    Dans une première mesure, est-ce possible d'utiliser la touche ENTER pour l'appel de macros ? Tu m'as évoqué un événement selection_change ?

    Dans un deuxième temps, serait-ce envisageable d'appliquer le bouton ENTER sur trois macros opérant des filtres avancés ?

    • La première macro (Recherche1Critère) permet l'activation d'un filtre avancé basé sur un critère en B3
    • La deuxième macro (Recherche2Critères)permet l'activation d'un filtre avancé base sur les critères B3+B4
    • La troisième macro (Recherche3Critères) permet l'activation d'un fitlre avancé basé sur les critères B3+B4+B5


    L'appel de la macro se ferait "intelligemment", si la cellule B3 est remplie mais pas la B4 ni la B5, alors la macro Recherche1Critère sera appelée.

    Merci d'avance,

    Adam

Discussions similaires

  1. Affecter un raccourci clavier à une macro
    Par defluc dans le forum VBA Word
    Réponses: 3
    Dernier message: 07/09/2014, 22h41
  2. [LibreOffice] Affecter un raccourci clavier à une macro
    Par seremei dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 25/03/2013, 11h19
  3. Raccourci clavier et macro sous Outlook 2010
    Par vberruyer dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 04/01/2013, 18h03
  4. Raccourci clavier pour macro?
    Par Chipss dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 21/10/2010, 14h13
  5. raccourcis clavier pour macro
    Par manulemalin13000 dans le forum VBA PowerPoint
    Réponses: 6
    Dernier message: 19/04/2010, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo