Bonjour,
J'aimerais créer une macro qui s'active automatiquement si une certaine touche qu'on appellera E est activée. Je sais que ce que je propose est possible car il existe en effet des macros qui s'activent automatiquement.
Cordialement.
Bonjour,
J'aimerais créer une macro qui s'active automatiquement si une certaine touche qu'on appellera E est activée. Je sais que ce que je propose est possible car il existe en effet des macros qui s'activent automatiquement.
Cordialement.
Bonjour,
Il faut utiliser l'activation des touches ("OnKey" en VBA, ligne suivante à mettre dans le module "ThisWorkBook", macro "Private Sub Workbook_Open()")
Quand on ferme le fichier, il faut penser à désactiver les touches (en VBA, ligne suivante à mettre dans le module "ThisWorkBook", macro Private "Sub Workbook_BeforeClose(Cancel As Boolean)"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.OnKey "{E}", "mettez ici le nom de la macro à lancer"
Cdlt
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.OnKey "{E}", ""
Bonjour,
donc si je comprends bien, le code ressemble à cela :
la macro 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Workbook_Open() ' ' Application.OnKey "{E}", "macro1" End Sub
qui demande une insertion automatique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Macro1() ' ' Macro1 Macro ' ' Selection.Range.InsertAutoText End Sub
Il faudrait juste trouver comment faire pour que le macro private sub demande à la macro1 de faire une insertion automatique uniquement si le texte derrière est le nom d'une insertion automatique (sinon à chaque fois que j'utilise la touche E, s'il n'y a pas d'insertion automatique du nom du texte derrière, on affiche un message d'erreur en pop up très gênant). Il faudrait pour cela trouver où se trouve toutes les insertions automatiques et savoir demander à VBA Word de faire en sorte de rechercher s'il existe une insertion automatique avec ce nom.
Pour ma part, toutes mes insertions automatiques se trouvent à l'emplacement :
Dans le cas de l'insertion de l'insertion automatique $test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Application.Templates( _ "C:\Users\Mon nom\AppData\Roaming\Microsoft\Templates\Normal.dotm"). _ BuildingBlockEntries("$test").Insert Where:=Selection.Range, RichText:= _
Cordialement.
Bonjour, désolé mais je parlais en langage VBA Word et non pas Excel. Desolé.
Tu actives la macro non pas avec une lettre mais avec Ctrl + une lettre. Dans ton cas, c'est Ctrl e.
Quand tu lances l'enregistreur de macros sur word, il te demande si tu veux l'affecter à un bouton ou à une lettre.
Tu choisis la lettre que tu veux en appuyant sur la touche Ctrl.
Je marque cela sur dans mes macros mais cela ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Macro1() ' ' Macro1 Macro ' ' Selection.TypeText Text:="rrrr" End SubLe test veut que quand je fais Ctrl ?, le texte rrrrr apparaît mais rien ne se fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Macro2() ' ' Macro2 Macro ' ' Application.OnKey "{^}+?", "Macro1" End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager