Même raccourci clavier sur macro dans plusieurs fichiers
Résolu/Fermé
hervelam
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
8 janvier 2014
-
7 janv. 2014 à 09:28
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 8 janv. 2014 à 16:52
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 8 janv. 2014 à 16:52
A voir également:
- Même raccourci clavier sur macro dans plusieurs fichiers
- Renommer plusieurs fichiers en même temps - Guide
- Raccourci clavier word - Guide
- Raccourci clavier retourner écran - Guide
- Creer un raccourci clavier - Guide
- Raccourci clavier azerty - Guide
2 réponses
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 8/01/2014 à 08:13
Modifié par eriiic le 8/01/2014 à 08:13
Bonjour à tous,
Michel, je crois que tu as mal saisi le pb... ;-)
Une proposition à condition que tu puisses mettre le même nom à tes macros :
Sub commun() à mettre dans chaque fichier, c'est elle qui doit porter le raccourci clavier. Elle lancera la macro Filtrer() du fichier actif.
Si noms différents et que tu préfères ne pas renommer les macros, rien ne t'empêche d'ajouter une macro (qui aura partout le même nom) qui appelle ta macro de filtrage.
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
Michel, je crois que tu as mal saisi le pb... ;-)
Une proposition à condition que tu puisses mettre le même nom à tes macros :
Sub commun() ' Ctrl+R Application.Run (ActiveWorkbook.Name & "!filtrer") End Sub Sub filtrer() MsgBox "macro fichier1" End Sub
Sub commun() à mettre dans chaque fichier, c'est elle qui doit porter le raccourci clavier. Elle lancera la macro Filtrer() du fichier actif.
Si noms différents et que tu préfères ne pas renommer les macros, rien ne t'empêche d'ajouter une macro (qui aura partout le même nom) qui appelle ta macro de filtrage.
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 janv. 2014 à 10:13
7 janv. 2014 à 10:13
Bonjour,
sans voir le code et sans boule de cristal
ajoute ActiveWorkbook quelque part pour faire travailler le classeur actif
sans voir le code et sans boule de cristal
ajoute ActiveWorkbook quelque part pour faire travailler le classeur actif
hervelam
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
8 janvier 2014
7 janv. 2014 à 15:51
7 janv. 2014 à 15:51
Merci pour ta réponse.
Le pb n'est pas dans le code mais *avant* le code ;-)
En gros le scénario est le suivant.
Dans le fichier1 j'ai une macro1 (qui fait des filtres sur certaines colonnes...) à laquelle j'affecte le raccourci clavier Ctrl+R.
Dans le fichier2 j'ai une macro2 (qui fait des filtres sur certaines colonnes, pas les mêmes...) à laquelle j'affecte aussi le raccourci clavier Ctrl+R.
Mes fichier1 et fichier2 sont tous deux ouverts.
Je suis sur fichier2 (ActiveWorkbook donc ;-)) et je tape Ctrl+R.
Résultat : Excel exécute la macro1 sur fichier2 !!!!!!!
Comment faire pour que Ctrl+R lance macro2 si je suis sur fichier2, mais macro1 si je suis sur fichier1 ?
HervE
Le pb n'est pas dans le code mais *avant* le code ;-)
En gros le scénario est le suivant.
Dans le fichier1 j'ai une macro1 (qui fait des filtres sur certaines colonnes...) à laquelle j'affecte le raccourci clavier Ctrl+R.
Dans le fichier2 j'ai une macro2 (qui fait des filtres sur certaines colonnes, pas les mêmes...) à laquelle j'affecte aussi le raccourci clavier Ctrl+R.
Mes fichier1 et fichier2 sont tous deux ouverts.
Je suis sur fichier2 (ActiveWorkbook donc ;-)) et je tape Ctrl+R.
Résultat : Excel exécute la macro1 sur fichier2 !!!!!!!
Comment faire pour que Ctrl+R lance macro2 si je suis sur fichier2, mais macro1 si je suis sur fichier1 ?
HervE
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 8/01/2014 à 06:46
Modifié par michel_m le 8/01/2014 à 06:46
Bonjour
..." En gros"...
A bannir de toute explication pour du VBA qui demande des renseignements précis....
En gros: mettre d'autres raccourcis clavier
Abandon du suivi
..." En gros"...
A bannir de toute explication pour du VBA qui demande des renseignements précis....
En gros: mettre d'autres raccourcis clavier
Abandon du suivi
hervelam
Messages postés
6
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
8 janvier 2014
8 janv. 2014 à 16:18
8 janv. 2014 à 16:18
J'ai eu le malheur d'écrire "en gros", mais en réalité j'ai parfaitement décrit mon scénario, je crois. Je bannirai donc ces 2 mots à l'avenir.
Non, je ne veux pas mettre d'autres raccourcis.
D'abord parce qu'il n'y a que 26 lettres (52 avec les majuscules), dont bcp sont déjà à exclure (Ctrl+C, Ctrl+V).
Ensuite parce que ça fait sens d'utiliser le même raccourci pour faire la même opération d'un fichier à l'autre.
HervE
Non, je ne veux pas mettre d'autres raccourcis.
D'abord parce qu'il n'y a que 26 lettres (52 avec les majuscules), dont bcp sont déjà à exclure (Ctrl+C, Ctrl+V).
Ensuite parce que ça fait sens d'utiliser le même raccourci pour faire la même opération d'un fichier à l'autre.
HervE
8 janv. 2014 à 15:21
Je "sentais" bien qu'il y avait une astuce possible, mais je n'avais pas pensé à Application.Run
J'ai dû ajouter ceci :
car mes noms de fichier contiennent des espaces, et ma procédure est dans un module.
...Et, pour fignoler, j'ai passé ma procédure filtrer() en Private pour qu'elle n'apparaisse pas dans la liste des macros.
La procédure commun() étant elle en Public, bien sûr.
Merci beaucoup ! Ça va changer ma vie :-)
HervE
Modifié par eriiic le 8/01/2014 à 15:42
Ou bien c'est parce que c'est un module Private ?
eric
8 janv. 2014 à 16:12
J'avais d'abord cru qu'il me manquait le nom du module. Du coup je l'ai laissé puisque ça marche.
Après test : ça marche aussi sans le nom du module.
HervE
8 janv. 2014 à 16:52
eric