Bonjour,

Je souhaiterais écrire des mathématiques sur mon ordinateur portable, ce qui nécessite de pouvoir facilement et rapidement écrire des formules mathématiques diverses (opérateurs, sommes, intégrales, divisions etc.) avec des mises en forme spécifiques et éventuellement des zones à compléter (par exemple les bornes de l’intégrale ou l’expression à sommer dans le cas d’une somme). Tous ces éléments se trouvent dans le module « Equations mathématiques » (Image 1) mais il faut les sélectionner un par un dans l’onglet « Equations » pour les utiliser, ce qui est trop long pour une prise de notes. J’ai des moyens assez limités merci d’en tenir compte.

Je souhaiterais que Word ou une macro remplace automatiquement des mots-clés précis par les objets mathématiques auxquels je les aurais associés : par exemple, le mot sum sera remplacé par le signe de la somme telle quelle apparaît dans l’onglet « Equations » (donc avec le signe de la somme et une zone pour écrire l’expression à sommer) ; le mot int sera remplacé par une intégrale (le signe et les zones à compléter évidemment) etc. Le caractère « $ » sera parfois mis devant toutes les mots-clés pour différencier clairement les mots destinés à être remplacés par un objet mathématique des autres mots, comme par exemple pour différencier e de $e (la fonction exponentielle). Je voudrais aussi que les mots-clés soient remplacés uniquement s’ils sont séparés des autres mots : imaginons par exemple que je fasse une faute et que j’écrive « ma$intenant » au lieu de « maintenant », je ne veux pas que Word reconnaisse le mot-clé « $int » dans le mot « ma$intenant » et le remplace directement au milieu du mot, je souhaite que le mot-clé soit totalement séparé des autres par des espaces pour qu’il soit remplacé.

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 insérer d’autres expressions mathématiques via corrections automatiques dans les zones dédiées de la somme car la somme est dans une zone d'équation mathématique, qui n'est pas considéré comme du texte mais des équations, ce qui empêche d’utiliser les corrections automatiques.

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.

Mon problème consiste en quelque sorte à trouver un moyen d’étendre le concept de correction automatique dans les zones d’équations.

J’ai d’abord essayé d’utiliser les insertions automatiques (QuickParts) pour régler mon problème mais bien qu’elles marchent partout, même dans les zones d’équation, il faut toujours utiliser la touche F3 pour les insérer après avoir marché leur nom, ce qui est embêtant et me faire perdre un temps fou car elle est assez petite sur mon clavier et éloignée des zones où j’écris habituellement, à la différence des corrections automatiques, qui utilisent naturellement la touche ESPACE.

Il existe cependant un mode de correction automatique appelé « Automaths », qui fonctionne comme les corrections automatiques, mais dans les zones d’équation, mais qui ne règle absolument pas mon problème étant donné que les expressions qui s’y trouvent sont inutilisables mathématiquement : par exemple, la somme n’est constituée que du signe somme et il n’y a pas de zones pour écrire les bornes, tout comme l’intégrale où il n’y a pas de zones pour écrire les bornes ou la fonction à intégrer. Il n’y a que le signe et pas les zones à compléter. De plus, il est possible de rajouter de nouvelles corrections automatiques « Automaths », mais à la différence des autres corrections automatiques, il n’est pas possible de conserver la mise en forme pour Automaths : imaginons que l’on essaye d’enregistrer la somme contenant des zones à compléter dans Automaths, seul le signe de la somme sera enregistré car Automaths n’enregistre pas les mises en forme.
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é » des autres par des espaces.

J’ai demandé à quelqu’un de résoudre mon problème. Cette personne m’a bien fournie un code VBA fonctionnel (les acronymes sont remplacés quand on fait un espace, même dans les zones d’équation mathématiques, on ne l’enclenche qu’une seule fois) mais ce code me pose de nombreux problèmes :

1) La macro s’active à chaque fois que je clique sur espace, même s’il n’y a pas de remplacement. Cela engendre un très court chargement à chaque fois que je clique sur espace, ce qui est assez gênant

2) L’insertion est parfois assez lente, au contraire des corrections automatiques, je crois que cela est dû à la trop grande complexité de la macro ou à la longueur des expressions mathématiques insérées

3) Le code VBA repose sur les noms des objets mathématiques. Or, plusieurs objets mathématiques différents peuvent avoir le même nom : par exemple, la somme de l’image 4 est différente de la somme de l’image 3 mais elles ont le même nom. Il faudrait que la macro se réfère directement au nom que j’ai donné à chaque objet mathématique et non au nom de base. Par exemple, on peut stocker tous les objets dans des quickpart avec des noms différents et les insérer. Voici où ils sont stockés sur mon ordinateur pour le quickpart $test par exemple :

Application.Templates( _
"C:\Users\NomUtilisateur\AppData\Roaming\Microsoft\Templates\Normal.dotm"). _
BuildingBlockEntries("$test").Insert Where:=Selection.Range, RichText:= _

5) J’ai constaté de nombreux problèmes avec le curseur qui sautait des lignes, la disposition des lignes qui était modifiée et l’apparition du message d’erreur mypos (voir le code VBA) quand j’utilisais de manière diverse la touche espace : par exemple, si j’insère une équation avec la macro et qu’ensuite je mets un espace dans cette équation même, un message d’erreur apparaît. De plus, il arrive que le message d’erreur apparaisse dans d’autres moments en utilisant l’espace.

Il faudrait que la macro ne prenne pas trop de temps pour s’activer et que l’insertion soit fluide, sans aucun problème avec les espaces. De plus, elle doit soit être directement activée à l’ouverture du fichier, soit activée une seule et unique fois à chaque ouverture du fichier (juste après avoir ouvert le document).

6) Le message d’erreur est totalement inutile et pose des problèmes. Il faudrait le supprimer : si l’insertion ne marche pas, rien ne se passe.

7) Il faudrait que le curseur soit à un emplacement précis en fonction de la nature de l’objet inséré.

Si vous êtes intéressé, je vous envoie le code.

PS : Etant donné que le projet est déjà à moitié fait, je propose comme prix entre 30 et 50 euros mais cela est à discussion.

Budget indicatifMoins de 500 €
Publié le30 mai 2020 à 12h32

Vous avez aussi besoin d'un expert ?

Déposez une annonce en décrivant votre projet et recevez gratuitement des devis en quelques minutes

Déposer une annonce gratuite

Offres pour ce projet :

Offre déposée le 17/06/2020 à 13h59
Offre déposée le 30/05/2020 à 17h03
Déposez un projet similaire
Publication 100% gratuite
Recevez 10 devis en moyenne
Pas de commission à payer

Vous êtes prestataire et vous cherchez des missions ?

Remplissez rapidement votre carnet de commandes en utilisant Codeur.com pour contacter des nouveaux clients.

Créer un compte gratuitement

Gérer mon projet

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

En utilisant ce site, vous acceptez l'utilisation de cookies. permettant de vous proposer des contenus et des services adaptés à vos centres d'intérêts.

Vous utilisez actuellement Internet Explorer. Pour profiter pleinement de Codeur.com, veuillez utiliser un des navigateurs suivant :