Rechercher les équations dans Word 2007

Fermé
bissjoe Messages postés 1 Date d'inscription dimanche 16 septembre 2012 Statut Membre Dernière intervention 16 septembre 2012 - 16 sept. 2012 à 00:21
 sebg - 29 août 2013 à 00:01
Bonjour,

j'utilise Microsoft Word 2007 (français), avec lequel j'écris un long document mathématique. Je dois faire un changement de notation mathématique dans toutes les nombreuses équations que j'ai écrites avec l'éditeur d'équations intégré. Y a-t-il un moyen de faire une recherche exclusivement dans les équations ou, à tout le moins, de se déplacer d'une équation à l'autre? Pour l'instant, je n'ai absolument rien trouvé. Et c'est plutôt frustrant, car mon document contient des centaines d'équations, dont certaines n'ont que que quelques caractères et à l'intérieur de paragraphes, ce qui les rend particulièrement difficiles à repérer à l'oeil.

Je suis conscient qu'idéalement j'aurais dû utiliser Tex ou Latex pour écrire ce document. Il se trouve que les circonstances ne l'ont pas permis (contraintes reliées à mon équipe de travail, etc.).

A voir également:

8 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 18/09/2012 à 07:22
Bonjour à tous,

Un début de réponse par macro vba.
Tout d'abord je te précise que je connais très peu word, encore moins son vba, et qu'il n'y a pour ainsi dire aucune doc sur les objets oMaths sur le web.
Donc faudra faire avec le résultat qui est perfectible ;-)

Dans les options de sécurité autoriser les macro, puis les accepter à l'ouverture du document.
Lancer la macro 'Formulaire'.

La partie 'Se déplacer' est fonctionnelle. Tu peux avancer/reculer entre les équations, ou te rendre directement à l'équation n°x.
Déjà ça devrait te soulager un peu, c'est surtout pour cette partie que j'ai posté.

La partie 'Rechercher' est moins performante.
Pas entièrement de ma faute...
Si en pas à pas on examine ActiveDocument.OMaths(i).Range.Text on obtient bien le texte de l'équation. Une fois mis dans une variable on en perd une partie.
Par exemple pour tr=sin?(45) on se retrouve avec ????=sin?(45).
Inutile d'espérer une recherche correcte sur tr, par contre sur sin elle sera ok.
Egalement la recherche trouve bien 45, mais pas 45/7...

Toutes les bonnes volontés sont bienvenues pour essayer d'améliorer cette partie car là ça sent le bug word (ou bien il y a une autre propriété que je n'ai pas vue) et je sèche un peu pour contourner... ;-)

Le fichier de test avec la macro : https://www.cjoint.com/?BIshsse84WS

eric

PS: tu auras besoin de l'onglet développeur pour lancer la macro Formulaire : https://support.microsoft.com/fr-fr/office/cr%c3%a9er-ou-ex%c3%a9cuter-une-macro-c6b99036-905c-49a6-818a-dfb98b7c3c9c?ocmsassetid=ha010099769&correlationid=17c49442-2062-4024-b8c0-fd8f1a35f666&ui=fr-fr&rs=fr-fr&ad=fr
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
Merci beaucoup, eriiic. Cela semble être la voie à suivre. Je vais m'inspirer de ton code et de la documentation sur oMath que je peux trouver sur le site de Microsoft (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.omath_members.aspx) afin de peaufiner ma fonction de recherche.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
18 sept. 2012 à 19:36
J'ai regardé le lien et ai eu de l'espoir avec les ConvertToxxx
Mais l'aide msdn, elle n'aide pas beaucoup....
Converts an equation to literal text. et débrouille-toi avec ça...
0
Je suis d'accord que l'aide de Microsoft n'est pas très brillante. Un exemple très éloquent. Dans la page pour «OMath Members» qui concerne les équations, la méthode ConvertToLiteralText est listée, avec la description « Converts an equation to literal text ». Pas mal inutile comme description, quand on sait déjà que c'est une méthode d'une équation et que son nom indique le reste de la description. En d'autres mots, la description n'ajoute absolument aucune information. Si maintenant on clique la méthode afin de faire apparaître la page HTML uniquement consacrée à cette méthode, on obtient encore la même description très courte: « Converts an equation to literal text ».
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 18/09/2012 à 20:15
J'ai noté aussi pas mal de régression dans l'aide excel 2010 contre celle de 2003 qui était très riche et complète.
Et si tu colles leur maigre exemple instance.Linearize() tu as un joli erreur de syntaxe !
C'est plus ce que c'était mon bon monsieur...
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
18 sept. 2012 à 20:37
Autre idée :
Renommer le .docx en .zip et editer \word\document.xml avec un éditeur xml.
Par contre c'est un peu fouillis et les équations sont éclatées.
Pour tr=sin(45) tu vas retrouver :
<m:t>tr=</m:t>......<m:t>sin?</m:t>....m:t>(45)</m:t>

A voir, ça dépend vraiment des remplacements que tu as à effectuer...
Si c'est peu de chaines à remplacer souvent ça peut être interessant. Si elles sont nombreuses c'est une autre paire de manche, et si tu ne peux différencier des chaines à garder c'est mort.
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 704
16 sept. 2012 à 10:46
bonjour,

As-tu essayé d'utiliser la fonction rechercher/remplacer ?

Si tu dois modifier une notation particulière tu devrais au moins la trouver puis passer à la suivante avec F3.

N'étant pas mathématicien, je ne sais pas si le résultat de l'éditeur d'équations intégré est pris en compte, mais cela me semble plausible.
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 383
16 sept. 2012 à 20:12
Bonsoir,

je ne crois pas que la fonction "rechercher, remplacer" fonctionne pour les équations créées avec l'éditeur d'équation, car Word créé à chaque fois une fenêtre.
Pendant que je suis là, j'ai une question :

lorsque l'on ouvre plusieurs fenêtre avec l'éditeur d'équations, au bout d'un certain nombre, word plante. Est-ce un problème Word rencontré chez certains utilisateurs ? Le problème, c'est que l'on ne peut pas fermer au fur et à mesure les fenêtres ouvertes.

A+

pépé
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
16 sept. 2012 à 20:22
bonsoir pépé35530

je confirme, l'éditeur d'équation plante régulièrement word lorsqu'on abuse un peu
quelques manips limitant les dégâts
1. sauvegarder après chaque équation créée
2. quitter word et relancer de temps en temps
3. vider les fichiers temporaires créés
4. il arrive aussi que word ne veuille pas sauvegarder avec le message disque plein, dans ce cas, faire un copier/coller du fichier dans un nouveau qui en principe pourra être sauvegardé
5. ....

bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 383
16 sept. 2012 à 22:15
Bonsoir,

Merci pour la réponse concernant le plantage de Word avec l'éditeur d'équation. A un moment je pensais qu'en rajoutant de la mémoire vive on aurait pu éviter le problème, mais visiblement la solution ne passe pas par là.

Bonne soirée

pépé
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 231
17 sept. 2012 à 03:39
Bonjour, bissjoe , et bienvenue au nouvel inscrit !

Juste une suggestion, à vérifier : est-ce que tes équations ont un STYLE particulier ? Je suis persuadé que oui ; il te suffirait de modifier ce style, par exemple en ajoutant un surlignement ... Et après tes corrections, tu remettrais ton style comme au départ.

Cordialement.
0
Bonjour à tous. Merci pour vos commentaires.

À gbinforme: oui, j'ai essayé la fonction Rechercher/Remplacer, mais même en cliquant sur le bouton «Plus» pour avoir davantage d'options, il n'y avait rien.

À pépé35530: je ne suis pas sûr que nous parlons du même outil. Dans mon cas, il s'agit de l'éditeur d'équations intégré qui est apparu depuis la version 2007, alors que dans ton cas je crois qu'il s'agit de la version allégée de MathType que Word offrait en 2003 et continuait d'offrir en 2007. L'éditeur intégré n'ouvre pas des fenêtres à part; à ma connaissance, on ne peut éditer qu'une équation à la fois. Pour créer une équation avec l'éditeur intégré, on peut faire «ALT-signe d'égalité».

À Raymond Pentier: il n'y a pas de style dans mon équation (du moins, le style est considéré «Normal»). Et je ne suis pas sûr que cela changerait quelque chose. Si la fonction Rechercher n'est même pas capable de trouver une simple lettre comme «a» dans une équation, je serais surpris que l'ajout de style aiderait. Ensuite, il faut comprendre que je ne voudrais pas ajouter manuellement un style à chaque équation: cela reviendrait à autant de travail que de faire le changement de notation que je dois faire et que je ne veux justement pas faire manuellement.

À noter que Word 2007 peut trouver un caractère dans une équation si ce caractère est en «Texte normal», autrement il passe par-dessus.

C'est drôle de penser que je n'ai rien trouvé en googlant par rapport à ce problème. J'aurais crû que cela aurait été un problème assez vite remarqué par ceux qui éditent des documents techniques assez longs, mais j'imagine que ces gens-là, contrairement à moi, ont utilisé Tex ou un de ses dérivés. Je serais curieux de savoir si Word 2010 a fait des progrès par rapport à 2007 pour la recherche dans les équations, ou encore si Word 2013 en fera.
0
Bonjour,
Si on enlève le style italique (ctrl+I) des équations Word, je confirme qu'on peut copier-coller un terme d'une équation dans une recherche (ctrl+F), comme le suggérait M. Pentier.
Attention : un bug (?) sous Word empêche le passage en italique du texte d'une équation, ou indique comme "Normal" ce texte qu'il affiche pourtant en italique! Il faut donc vérifier à l'oeil que les équations sont bien converties d'"Italique" à "Normal".

Une autre solution plus complexe consiste à enregistrer le document en "Document XML Word" .xml (au lieu du Word .docx). Puis à chercher le caractère voulu en ouvrant le fichier avec un Bloc-notes ou un éditeur XML si ça existe. En espérant avoir fait avancer la réflexion. Je ne crois pas qu'il y ait eu de changement sur Word 2013, à confirmer.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 704
17 sept. 2012 à 09:03
bonjour,

même en cliquant sur le bouton «Plus» pour avoir davantage d'options, il n'y avait rien.

As-tu essayé, avec l'onglet "Atteindre" puis dans "Atteindre :" de sélectionner "Objet", ce qui te permet, à droite, de sélectionner le type d'objet voulu ?
0
Bonjour. Je viens de regarder l'onglet Atteindre. Sur le coup, j'ai eu de l'espoir, parce qu'il y avait "Équation" et "Objet" qu'on pouvait chercher. Mais le premier ("Équation") ne trouve que les équations du vieil éditeur de 2003, alors que le second ("Objet") ne liste pas la catégorie "Équation intégérée", ou quelque chose comme cela. En fait, je ne crois pas que les équations avec l'éditeur intégré se qualifient comme objet, parce que, justement, elles sont intégrées.
0