Macro automatique effectuant une insertion automatique

Fermé
GillesBlois - Modifié le 26 janv. 2020 à 08:27
 Blois - 27 janv. 2020 à 13:30
Bonjour,

J'ai absolument besoin d'une macro automatique effectuant une insertion automatique après qu'on ait cliqué sur la touche espace, voire que la macro remplace automatiquement le nom des insertions automatiques par leur contenu sans appuyer sur une touche partiiculière. Ma macro de base est la suivante :

pour la macro qui effectue l'action d'insertion automatique.

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Range.InsertAutoText
End Sub


pour la macro qui demande si l'insertion automatique de ce nom existe, j'ai pensé à ça :

sub macro2()

'macro2 macro
'
if (le dernier mot ou texte est le nom d'une insertion automatique, je ne sais pas coder ça)
executer macro1
end if

end sub

Aidez moi j'ai vraiment besoin d'aide...

Configuration: Windows / Chrome 79.0.3945.130
A voir également:

2 réponses

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
26 janv. 2020 à 10:59
Bonjour,

Pas claire votre affaire.
Pouvez mettre un fichier a dispo avec explication ce que vous voulez??

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou
'mon partage
https://mon-partage.fr/
0
Désolé mais je n'ai absolument rien fait son mon code de macro, j'ai mis tout ce que je savais faire dans le post, pas besoin dans ce cas là de pièce jointe. J'aimerais que si le dernier texte ou mot est le nom d'une insertion automatique que la macrla transforme en son contenu mais je ne sais pas comment faire.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Blois
26 janv. 2020 à 19:07
Re,

pas besoin dans ce cas là de pièce jointe.
Bonne chance.......
0
Blois > f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024
26 janv. 2020 à 19:16
Merci de votre aide très importante.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710 > Blois
27 janv. 2020 à 07:24
Bonjour,

Vu que je ne vois pas du tout ce que vous voulez faire. Sans exemples peux pas plus que vous souhaitez bonne chance.
Faites donc lire ce que vous avez écrit a une personne de votre entourage (sans lui monter d'exemple ) pour voir la reaction....
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 Ambassadeur 1 554
Modifié le 27 janv. 2020 à 09:10
bonjour, cela commence à légèrement se clarifier quand tu écris "J'aimerais que si le dernier texte ou mot est le nom d'une insertion automatique que la macrla transforme en son contenu mais je ne sais pas comment faire".
que veux-tu dire par "dernier texte"?
tu as montré tes deux macros "de base". fonctionnent-elles bien? veux-tu les améliorer?
si j'ai compris, tu imagines qu'il est possible qu'une macro travaille en permanence et surveille ce qui est tapé dans Word. ai-je bien compris? où as-tu lu que c'était possible?
tu aurais pu nous informer de ton contexte, en faisant référence à cette autre discussion, encore en cours: https://forums.commentcamarche.net/forum/affich-36422760-remplacer-la-touche-f3-par-une-autre-pour-les-insertions-automatiques
Si tu expliquais ce que tu voulais réellement obtenir, nous pourrions peut-être mieux t'aider.
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
27 janv. 2020 à 11:20
Bonjour yg_be

Peut-être qu'il va vous donner kake chose ou faire la meme reponse qu'au post 2.....
0
Pardon, c'est vrai que ce n'est pas si clair que ça surtout que j'ai fait des fautes de frappe.

En clair, je veux que Word remplace directement le nom d'une insertion automatique par son contenu à chaque fois que je l'écris (ou à chaque fois qu'il détecté que son nom à été écrit et qu'il est séparé, n'est pas compris dans un autre mot plus long, histoire de ne pas remplacer le début de mot -int par l'insertion automatique quand j'écris intrus par exemple et que je ne souhaite pas faire apparaître l'insertion automatique int).

D'où l'intérêt d'écrire le nom de l'insertion, puis faire juste un espace pour qu'elle soit directement insérée (toujours utiliser la touche F3 est embêtant et me faire perdre un temps fou). Voilà ce que je souhaite faire depuis le début.

Cela marche parfaitement avec les corrections automatiques, qui remplacent bien le nom de l'insertion automatique par son contenu mis en forme. Il suffit juste d'un espace pour les insérer mais malheureusement, les corrections automatiques ne fonctionnent que sur des écris considérés comme textes, donc ne marchent pas dans les zones d'équations mathématiques. Par exemple, si j'écris sum pour faire apparaître une somme, elle apparaîtra, mais si je veux écrire quelque chose dans cette somme ou marquer les bornes, je ne peux plus utiliser les corrections automatiques car la somme est dans une zone d'équation mathématique et ce n'est pas considéré comme du texte mais des equations.

Word arrive parfaitement à reconnaître le nom d'une correction automatique et à la changer directement avec juste un espace et à le faire dans tous les cas, sauf dans les zones d'équations. Voilà donc comment je sais que l'on peut coder cela avec les macros, qui commandent Word.

De plus, j'ai constaté que quand j'utilise le module
Rechercher remplacer, celui ci arrive parfaitement à détecter les ecrits dans les zones d'équation et à le remplacer par des symboles ou des opérateurs (sommes, intégrales etc.). Cela montre que Word est également capable de trouver, reconnaître et modifier rapidement du contenu textuel dans les zones d'équation (quand je marque par exemple sum dans les zones d'équations, et je demande de remplacer les sum par des sommes mises en forme, avec signe et zones dans laquelle écrire, le module rechercher remplacer réussit à trouver sum dans l'équation et à le remplacer parfaitement).

Ces deux éléments démontrent que ce que je veux faire est parfaitement possible pour Word, qui peut automatiser des tâches sans aucune commande de l'utilisateur et trouver du texte dans les zones d'équations mathématiques.

Je cherche donc un moyen d'automatiser un rechercher remplacer, mais avec tous les noms de mes insertions automatiques. On m'a conseillé de me diriger vers les macros mais je ne maîtrise absolument pas le langage vba Word, d'où ma demande d'aide.

J'ai pensé à ce qu'une macro puisse savoir où stocker le nom de toutes mes insertions automatiques pour qu'elle les remplace automatiquement à chaque fois que je les écris dans un mot isolé. J'aurais pu très facilement me débrouiller si j'avais eu le code vba des macros effectuer une insertion automatique, ou le code vba des corrections automatiques mais impossible de les trouver.

Je sais aussi que certaines macros peuvent se déclencher quand on appuie sur une touche précise. Je pensais donc à ce que la macro s'active à chaque fois que l'on clique sur espace et si le dernier mot est le nom d'une insertion automatique, qu'elle le transforme en son contenu. Il faut absolument que la macro demande une insertion automatique uniquement lorsque le dernier mot est le nom d'une insertion automatique sinon je vais avoir des messages d'erreurs comme quoi le mot n'est pas une insertion automatique à chaque fois que je clique sur espace.

Voilà mon problème.
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554 > Blois
27 janv. 2020 à 12:30
je vois quelques petites défaillances dans ton raisonnement:
1) les macros ne commandent pas Word. il est possible, via des macros, d’exécuter certaines actions, en complément de ce que fait Word. cependant, intrinsèquement, Word n'est pas constitué de macros, ce ne sont pas les macros qui font fonctionner Word. la grande majorité de ce que fait Word est inaccessible aux macros.
il est donc incorrect d'affirmer que tout ce que fait Word peut être fait en VBA.
2) il est, en effet, possible de déclencher des macros via des combinaisons de touches. il s'agit, bien entendu, de combinaisons de touches qui n'ont pas d'autre fonction (comme expliqué dans l'autre discussion que tu as initiée). il est donc exclu de déclencher une macro sur base de la touche espace. Word est également capable de déclencher automatiquement, sur base d’événements, des actions programmées en VBA. Un exemple d’événement: sauver un fichier.
Word n'offre aucun événement qui permettrait, au fil de l'eau, d'intervenir pendant qu'un texte est entré.

Par ailleurs, je n'ai pas du tout compris pourquoi il était important de faire le remplacement au fil de l'eau, plutôt que a postiori, sur demande.
0
Blois > yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024
27 janv. 2020 à 12:42
Dans tous les cas, les deux exemples que j'ai cités montrent que Word est tout à fait capable de faire ce que je veux qu'il fasse car il ne s'agit que d'une extension de ce qu'il fait hors des zones d'équation, d'autant qu'il sait rechercher des mots et les remplacer dans les zones d'équations. Peut être que cela est impossible avec les macros, mais dans l'absolu, Word pourrit le fire très facilement. Il reste juste à trouver une manière de le faire, ce qui serait très facile si Word n'avait pas désactivé les corrections automatiques dans les zones d'équations pour mettre à les place Automaths, qui est d'une bêtise sans nom et à été faite par des gens qui manifestement n'ont jamais fait de maths de leur vie.

Enfin, je souhaite que l'insertion soit rapide et automatique car je souhaite écrire mes cours de mathématiques sur Word au lieu de l'écrit, d'où mes demandes.
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554 > Blois
27 janv. 2020 à 13:06
rapide et automatique, bien sûr, mais pourquoi instantané?
je me demande si Word est le bon choix. utilises-tu une tablette tactile Windows?
0