Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème pour lancer une macro par un racourci clavier

7 réponses
Avatar
JPB
Bonjour,

J'ai dans mon classeur macro PERSO.XLS une macro que je peux lancer avec
CTRL A.

Si j'ouvre un fichier et je lance CTRL A il ne se passe rien (la macro ne
s'exécute pas).
Si j'ouvre le même fichier et je fais "Outils/macro puis annuler pour fermer
la fenêtre macro et maintenant si je fais CTRL A la macro s'exécute
normalement.
On dirait que je dois ouvrir la fenêtre macro pour que le racourci clavier
soit actif.

Pouvez vous m'aider pour que mon raccouci marche dès l'ouverture du fichier.

Merci à tous

Jean-Pierre

7 réponses

Avatar
michdenis
Bonjour JPB,

As-tu essayé de mettre dans le thisworkbook de ton classeur perso quelque chose comme ceci :

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------


Salutations!



"JPB" a écrit dans le message de news:
Bonjour,

J'ai dans mon classeur macro PERSO.XLS une macro que je peux lancer avec
CTRL A.

Si j'ouvre un fichier et je lance CTRL A il ne se passe rien (la macro ne
s'exécute pas).
Si j'ouvre le même fichier et je fais "Outils/macro puis annuler pour fermer
la fenêtre macro et maintenant si je fais CTRL A la macro s'exécute
normalement.
On dirait que je dois ouvrir la fenêtre macro pour que le racourci clavier
soit actif.

Pouvez vous m'aider pour que mon raccouci marche dès l'ouverture du fichier.

Merci à tous

Jean-Pierre
Avatar
JPB
Bonjour michdenis,

je n'avais rien mis dans thisworkbook.
J'ai essayé d'introduire ton code mais cela ne marche pas dans tous les cas.
J'ai remarqué ceci :
J'ouvre le fichier xx.xls puis je fais directement "CTRL a" => il ne se
passe rien.
Si j'ouvre le même fichier xx et je clique d'abord n'importe où (sur une
cellule ou sur le bord de la feuille) puis seulement je lance le raccourci
pour la macro alors cela marche.
J'ai l'impression qu'après l'ouverture du fichier il faut d'abord rendre la
feuille active avant de pouvoir lancer le raccourci pour la macro.
Comment éviter cela ?

Encore merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%
Bonjour JPB,

As-tu essayé de mettre dans le thisworkbook de ton classeur perso quelque
chose comme ceci :

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------


Salutations!



"JPB" a écrit dans le message de news:

Bonjour,

J'ai dans mon classeur macro PERSO.XLS une macro que je peux lancer avec
CTRL A.

Si j'ouvre un fichier et je lance CTRL A il ne se passe rien (la macro ne
s'exécute pas).
Si j'ouvre le même fichier et je fais "Outils/macro puis annuler pour
fermer
la fenêtre macro et maintenant si je fais CTRL A la macro s'exécute
normalement.
On dirait que je dois ouvrir la fenêtre macro pour que le racourci clavier
soit actif.

Pouvez vous m'aider pour que mon raccouci marche dès l'ouverture du
fichier.

Merci à tous

Jean-Pierre





Avatar
michdenis
Bonjour JPB,

Essaie ceci : la ligne de code ajoutée c'est pour rendre le "focus" sur le classeur ouvert.

Teste ... ce n'est pas sûr que ceci : Range("A1").select soit nécessaire.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"
Workbooks(ActiveWorkbook.Name).Activate
Range("A1").Select

End Sub
'--------------------


Salutations!




"JPB" a écrit dans le message de news:
Bonjour michdenis,

je n'avais rien mis dans thisworkbook.
J'ai essayé d'introduire ton code mais cela ne marche pas dans tous les cas.
J'ai remarqué ceci :
J'ouvre le fichier xx.xls puis je fais directement "CTRL a" => il ne se
passe rien.
Si j'ouvre le même fichier xx et je clique d'abord n'importe où (sur une
cellule ou sur le bord de la feuille) puis seulement je lance le raccourci
pour la macro alors cela marche.
J'ai l'impression qu'après l'ouverture du fichier il faut d'abord rendre la
feuille active avant de pouvoir lancer le raccourci pour la macro.
Comment éviter cela ?

Encore merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%
Bonjour JPB,

As-tu essayé de mettre dans le thisworkbook de ton classeur perso quelque
chose comme ceci :

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------


Salutations!



"JPB" a écrit dans le message de news:

Bonjour,

J'ai dans mon classeur macro PERSO.XLS une macro que je peux lancer avec
CTRL A.

Si j'ouvre un fichier et je lance CTRL A il ne se passe rien (la macro ne
s'exécute pas).
Si j'ouvre le même fichier et je fais "Outils/macro puis annuler pour
fermer
la fenêtre macro et maintenant si je fais CTRL A la macro s'exécute
normalement.
On dirait que je dois ouvrir la fenêtre macro pour que le racourci clavier
soit actif.

Pouvez vous m'aider pour que mon raccouci marche dès l'ouverture du
fichier.

Merci à tous

Jean-Pierre





Avatar
michdenis
Bonjour JPB,

Je viens d'effectuer un test avec ceci dans le ThisWorkbook de mon perso.xls avec une version Excel 2003, et tout fonctionne
normalement,
Dès l'ouverture du fichier.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------

P.S. Tu dois fermer excel et le rouvrir pour que cette procédure soit exécuter à l'ouverture.

Si tu n'y arrives pas, il faudra décrire de façon détaillée ce que tu fais et ce qui se passe.


Salutations!




"JPB" a écrit dans le message de news: %
Rebonjour,

J'ai testé mais j'obtiens le code d'erreur suivant lors de l'exécution de la ligne
" Workbooks(ActiveWorkbook.Name).Activate "
Code d'erreur = "Variable objet ou variable bloc With non définie (erreur 91)"

Mes connaissances d'excel sont telles que je dois encore m'en remettre à ton aide...

Merci bien

Jean-Pierre



Bonjour JPB,

Essaie ceci : la ligne de code ajoutée c'est pour rendre le "focus" sur le classeur ouvert.

Teste ... ce n'est pas sûr que ceci : Range("A1").select soit nécessaire.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"
Workbooks(ActiveWorkbook.Name).Activate
Range("A1").Select

End Sub
'--------------------


Salutations!




"JPB" a écrit dans le message de news:
Bonjour michdenis,

je n'avais rien mis dans thisworkbook.
J'ai essayé d'introduire ton code mais cela ne marche pas dans tous les cas.
J'ai remarqué ceci :
J'ouvre le fichier xx.xls puis je fais directement "CTRL a" => il ne se
passe rien.
Si j'ouvre le même fichier xx et je clique d'abord n'importe où (sur une
cellule ou sur le bord de la feuille) puis seulement je lance le raccourci
pour la macro alors cela marche.
J'ai l'impression qu'après l'ouverture du fichier il faut d'abord rendre la
feuille active avant de pouvoir lancer le raccourci pour la macro.
Comment éviter cela ?

Encore merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%
Bonjour JPB,

As-tu essayé de mettre dans le thisworkbook de ton classeur perso quelque
chose comme ceci :

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------


Salutations!



"JPB" a écrit dans le message de news:

Bonjour,

J'ai dans mon classeur macro PERSO.XLS une macro que je peux lancer avec
CTRL A.

Si j'ouvre un fichier et je lance CTRL A il ne se passe rien (la macro ne
s'exécute pas).
Si j'ouvre le même fichier et je fais "Outils/macro puis annuler pour
fermer
la fenêtre macro et maintenant si je fais CTRL A la macro s'exécute
normalement.
On dirait que je dois ouvrir la fenêtre macro pour que le racourci clavier
soit actif.

Pouvez vous m'aider pour que mon raccouci marche dès l'ouverture du
fichier.

Merci à tous

Jean-Pierre













Avatar
JPB
Je viens de me rendre compte qu'avec l'utilisation du fichier PERSO.XLS
jouvre ce classeur chaque fois que j'ouvre un fichier Excel quelquonque.
Cela ne me plais pas vraiment.

Je crois plus simple de t'expliquer ce que je veux faire :
- Je télécharge un fichier depuis internet en format .CSV par exemple
xx.csv (xx.cvs est recréer à chaque téléchargement)
- J'ouvre ce fichier en cliquant 2 fois dessus
- puis je veux lancer une macro pour mettre en forme le contenu de xx.
J'aimerais lancer cette macro par un
raccourci (par exemple CTRL a ) mais ceci sans utiliser PERSO.XLS si cela
m'oblige à ouvrir PERSO chaque fois que j'utilise Excel pour autre chose.

Quelle est la meilleure technique (simple) pour faire cela
J'ai dans l'idée que je pourrais créer un fichier Excel bidon qui
contiendrait (à l'ouverture) une macro plus générale qui ouvrirait le
fichier qui a été téléchargé puis lancerais la macro pour trier le fichier
téléchargé.
Que penses tu de cette solution

Un grand merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%23uqW$
Bonjour JPB,

Je viens d'effectuer un test avec ceci dans le ThisWorkbook de mon
perso.xls avec une version Excel 2003, et tout fonctionne
normalement,
Dès l'ouverture du fichier.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------

P.S. Tu dois fermer excel et le rouvrir pour que cette procédure soit
exécuter à l'ouverture.

Si tu n'y arrives pas, il faudra décrire de façon détaillée ce que tu fais
et ce qui se passe.


Salutations!




"JPB" a écrit dans le message de news:
%
Rebonjour,

J'ai testé mais j'obtiens le code d'erreur suivant lors de l'exécution de
la ligne
" Workbooks(ActiveWorkbook.Name).Activate "
Code d'erreur = "Variable objet ou variable bloc With non définie
(erreur 91)"

Mes connaissances d'excel sont telles que je dois encore m'en remettre à
ton aide...

Merci bien

Jean-Pierre



Bonjour JPB,

Essaie ceci : la ligne de code ajoutée c'est pour rendre le "focus" sur
le classeur ouvert.

Teste ... ce n'est pas sûr que ceci : Range("A1").select soit
nécessaire.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"
Workbooks(ActiveWorkbook.Name).Activate
Range("A1").Select

End Sub
'--------------------


Salutations!






Avatar
michdenis
Bonjour JPB,

A ) La macro que tu veux exécuter doit être dans un module standard de ton classeur... non dans un module du classeur perso.xls.

B ) Après avoir copié la macro à l'endroit approprié, via le bouton "Options" de la fenêtre des macros (Alt + F8), tu affectes le
raccourci clavier de ton choix.

C ) tu enregistres ton classeur.

Voilà, C'est tout.


Salutations!


"JPB" a écrit dans le message de news: %
Je viens de me rendre compte qu'avec l'utilisation du fichier PERSO.XLS
jouvre ce classeur chaque fois que j'ouvre un fichier Excel quelquonque.
Cela ne me plais pas vraiment.

Je crois plus simple de t'expliquer ce que je veux faire :
- Je télécharge un fichier depuis internet en format .CSV par exemple
xx.csv (xx.cvs est recréer à chaque téléchargement)
- J'ouvre ce fichier en cliquant 2 fois dessus
- puis je veux lancer une macro pour mettre en forme le contenu de xx.
J'aimerais lancer cette macro par un
raccourci (par exemple CTRL a ) mais ceci sans utiliser PERSO.XLS si cela
m'oblige à ouvrir PERSO chaque fois que j'utilise Excel pour autre chose.

Quelle est la meilleure technique (simple) pour faire cela
J'ai dans l'idée que je pourrais créer un fichier Excel bidon qui
contiendrait (à l'ouverture) une macro plus générale qui ouvrirait le
fichier qui a été téléchargé puis lancerais la macro pour trier le fichier
téléchargé.
Que penses tu de cette solution

Un grand merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%23uqW$
Bonjour JPB,

Je viens d'effectuer un test avec ceci dans le ThisWorkbook de mon
perso.xls avec une version Excel 2003, et tout fonctionne
normalement,
Dès l'ouverture du fichier.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------

P.S. Tu dois fermer excel et le rouvrir pour que cette procédure soit
exécuter à l'ouverture.

Si tu n'y arrives pas, il faudra décrire de façon détaillée ce que tu fais
et ce qui se passe.


Salutations!




"JPB" a écrit dans le message de news:
%
Rebonjour,

J'ai testé mais j'obtiens le code d'erreur suivant lors de l'exécution de
la ligne
" Workbooks(ActiveWorkbook.Name).Activate "
Code d'erreur = "Variable objet ou variable bloc With non définie
(erreur 91)"

Mes connaissances d'excel sont telles que je dois encore m'en remettre à
ton aide...

Merci bien

Jean-Pierre



Bonjour JPB,

Essaie ceci : la ligne de code ajoutée c'est pour rendre le "focus" sur
le classeur ouvert.

Teste ... ce n'est pas sûr que ceci : Range("A1").select soit
nécessaire.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"
Workbooks(ActiveWorkbook.Name).Activate
Range("A1").Select

End Sub
'--------------------


Salutations!






Avatar
JPB
Voila j'ai enfin réussi à faire ce que je voulais.
Grâce à ton aide sinon je ni serais pas arrivé.

Et encore une fois mes meilleurs remerciements et bon weekend

Jean-Pierre


"michdenis" a écrit dans le message de news:

Bonjour JPB,

A ) La macro que tu veux exécuter doit être dans un module standard de ton
classeur... non dans un module du classeur perso.xls.

B ) Après avoir copié la macro à l'endroit approprié, via le bouton
"Options" de la fenêtre des macros (Alt + F8), tu affectes le
raccourci clavier de ton choix.

C ) tu enregistres ton classeur.

Voilà, C'est tout.


Salutations!


"JPB" a écrit dans le message de news:
%
Je viens de me rendre compte qu'avec l'utilisation du fichier PERSO.XLS
jouvre ce classeur chaque fois que j'ouvre un fichier Excel quelquonque.
Cela ne me plais pas vraiment.

Je crois plus simple de t'expliquer ce que je veux faire :
- Je télécharge un fichier depuis internet en format .CSV par exemple
xx.csv (xx.cvs est recréer à chaque téléchargement)
- J'ouvre ce fichier en cliquant 2 fois dessus
- puis je veux lancer une macro pour mettre en forme le contenu de xx.
J'aimerais lancer cette macro par un
raccourci (par exemple CTRL a ) mais ceci sans utiliser PERSO.XLS si cela
m'oblige à ouvrir PERSO chaque fois que j'utilise Excel pour autre chose.

Quelle est la meilleure technique (simple) pour faire cela
J'ai dans l'idée que je pourrais créer un fichier Excel bidon qui
contiendrait (à l'ouverture) une macro plus générale qui ouvrirait le
fichier qui a été téléchargé puis lancerais la macro pour trier le fichier
téléchargé.
Que penses tu de cette solution

Un grand merci pour ton aide

Jean-Pierre


"michdenis" a écrit dans le message de news:
%23uqW$
Bonjour JPB,

Je viens d'effectuer un test avec ceci dans le ThisWorkbook de mon
perso.xls avec une version Excel 2003, et tout fonctionne
normalement,
Dès l'ouverture du fichier.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"

End Sub
'--------------------

P.S. Tu dois fermer excel et le rouvrir pour que cette procédure soit
exécuter à l'ouverture.

Si tu n'y arrives pas, il faudra décrire de façon détaillée ce que tu
fais
et ce qui se passe.


Salutations!




"JPB" a écrit dans le message de news:
%
Rebonjour,

J'ai testé mais j'obtiens le code d'erreur suivant lors de l'exécution de
la ligne
" Workbooks(ActiveWorkbook.Name).Activate "
Code d'erreur = "Variable objet ou variable bloc With non définie
(erreur 91)"

Mes connaissances d'excel sont telles que je dois encore m'en remettre à
ton aide...

Merci bien

Jean-Pierre



Bonjour JPB,

Essaie ceci : la ligne de code ajoutée c'est pour rendre le "focus" sur
le classeur ouvert.

Teste ... ce n'est pas sûr que ceci : Range("A1").select soit
nécessaire.

'--------------------
Private Sub Workbook_Open()

Application.OnKey "^a", "NomDeLaMacro"
Workbooks(ActiveWorkbook.Name).Activate
Range("A1").Select

End Sub
'--------------------


Salutations!