Macro ou astuce : Surligner certains caractères

Résolu
Rod78 -  
 Rod78 -
Bonjour,
Je suis en prépa, j'ai d'énormes quantités de textes divers à surligner chaque jours. Je me suis fait depuis le début de l'année quelque chose de précis : les dates (1987, 1567 = série de 4 chiffres) en vert, les auteurs (SMITH, COLBERT, FAMA = série >= 3 lettres en majuscules) en bleu, et d'autres choses, mais qui ne pourront pas être automatisés car représentant qq chose de trop hétérogène.

Je cherche un moyen d'automatiser le surlignage. J'ai déjà trouvé une macro qui me permet d'avoir la liste des tous les auteurs (le code ici :https://faqword.com/index.php/word/outils-edition/376-comment-recuperer-tous-les-sigles-dun-document-pour-les-lister-a-la-fin-de-ce-document

Je ne sais pas coder moi meme ce genre de chose. Je me demandais s'il y avait une possibilité de mettre des listes plutot que des mots singuliers dans la fonction remplacer de word, ou alors la possibilité de modifier la macro pour qu'elle surligne au lieu de me créer un nouveau document avec la liste des auteurs.

Merci d'avance !


Configuration: Windows / Chrome 96.0.4664.93
A voir également:

4 réponses

Raymond PENTIER Messages postés 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
Bonjour.

Un morceau de réponse : c'est NON pour la question "Je me demandais s'il y avait une possibilité de mettre des listes plutot que des mots singuliers dans la fonction remplacer de word" ...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour à tous,

fait à l'arrache vue l'heure et que je ne connais pas bien vba de word.
Sûrement des fignolages à faire mais ça te donnera une base de départ.
Sub surlig()
Dim wd As Object
For Each wd In ThisDocument.Words
If Trim(wd.Text) Like "####" Then
wd.Select
Selection.Range.HighlightColorIndex = wdBrightGreen
ElseIf Len(wd.Text) >= 3 And wd.Text = UCase(wd.Text) Then
If wd.Text Like "[A-Z][A-Z][A-Z]*" Then
wd.Select
Selection.Range.HighlightColorIndex = wdTurquoise
End If
End If
Next
End Sub

Je contrôle que les 3 premières lettres soient dans la tranche A-Z, sinon >= se retrouve surligné vu que ça s'écrit pareil en minuscule/majuscule.
https://www.cjoint.com/c/KLnxw0UZIaD
eric

0
Rod78
 
Merci, je vais tester ça !
0
Rod78
 
Hum, je comprends plus ou moins le code, ça me parait tout a fait cohérent, mais lorsque je l'éxecute, rien ne se passe.
Je sais à peu pres coder en Python, mais là je serais incapable de modifier quelque chose sans tout casser, auriez-vous une idée pour l'améliorer ? Ou est-ce un problème de mon côté uniquement ?
Merci.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276 > Rod78
 
Bonjour,
le fichier fourni fonctionne bien chez moi, je ne vois pas quoi améliorer pour ça.
Pas toi ?
eric
0
Rod78 > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui, c'est étrange, quand je le fais avec votre fichier, ça marche, mais quand je copie colle le code pour créer la macro sur mes propres fichiers, je les lance, et ça ne fait rien...
Auriez-vous une idée pour régler ça ?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276 > Rod78
 
Tu colles dans un module standard que tu ajoutes au document ?
Avec ThisDocument c'est celui où est la macro qui est traité.
Sinon dépose un fichier de test où tu l'as mise que je vois de mon coté.
Tu as peut-être des caractères qui parasitent la recherche. Essaie d'y mettre le maximum de cas potentiellement différents.
eric
0
m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour à tous (coucou à Raymond et Eric ;) )

A toutes fins utiles, j'ai une macro qui peut vous être utile :
https://faqword.com/index.php/word/10-mise-en-forme/1182-comment-en-une-seule-operation-appliquer-un-format-particulier-a-plusieurs-expressions-dissemines-dans-un-document

m@rina
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Coucou m@rina :-)
0
Rod78
 
Merci, je vais regarder !
0
Rod78
 

Bonjour ! J'utilise votre macro en plus de celle d'eriiic depuis plus d'un an (celle ci : https://www.faqword.com/index.php/word/outils-edition/376), et cela m'aide énormément. Mais hier en voulant l'appliquer, word m'a affiché "erreur de compilation, sub ou fonction non définie", alors que je ne crois pas avoir modifier quoi que ce soit. J'ai essayé de regarder moi meme, mais je ne comprends pas ce que je devrais modifier pour la refaire fonctionner. J'ai essayer de changer le nom de la fonction, car je crois que c'est de là d'où vient le probleme, mais ça ne change rien.

Pourriez-vous m'aider ?

Merci !

0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Encore un qui suit bien ses demandes.
De rien Rod 78 !
0
Rod78
 
Wow, beaucoup de travail cette semaine j'attendais le Week-End pour répondre !
0