Rechercher ensemble groupe de mots WORD

Résolu
Clem - Modifié le 14 août 2023 à 23:40
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 - 16 août 2023 à 11:05

Bonjour,

Je travaille sur plusieurs longs document (plus de 200 pages chacun) qui regroupent des source hétéroclites. Il y a des morceaux de texte que je souhaiterais supprimer. Ils commencent par le même groupe de mots et se terminent par le même groupe de mots mais les mots entre le début et la fin sont à chaque fois différents.

Par exemple :

((Le poisson-- saute et frétille dans son bocal ))--c'est la fin de** l'histoire.

[...]

((le poisson-- fait des bulles de taille différentes))--c'est la fin de** l'histoire.

[...]

((le poisson-- aimerait trouver la solution pour sortir du bocal))--c'est la fin de** l'histoire.

[...]

Comme vous le voyez, ces phrases différentes commencent et finissent par les mêmes groupes de mots/signes. J'aimerais sélectionner l'ensemble de ces phrases différentes, qui sont très nombreuses, pour les supprimer. Manuellement, c'est une tâche impossible.

J'espère que vous pourrez m'aider et vous remercie grandement par avance.

Cordialement.

P.S.: je précise qu'avec les années et mon utilisation continue de WORD (comme des forums), je crois maitriser assez bien la fonction recherche/remplace, caractères génériques, etc. Mais pour cette manipulation, je ne trouve pas le moyen...
A voir également:

4 réponses

brucine Messages postés 14607 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 14 mai 2024 1 889
15 août 2023 à 00:37

Bonjour,

La difficulté n'est pas de remplacer une chaîne de caractères quelconque par rien, mais de remplacer ce qui se trouve entre une chaîne A et une chaîne B par rien.

On peut sans doute s'aider de ce que Marina a écrit à ce sujet (et s'agissant de rechercher ce qui se trouve dans un mot entre les lettres r et e) en adaptant pour rechercher ce qui se trouve entre la chaîne A et la chaîne B et en remplaçant l'ensemble par rien quitte à se servir des caractères génériques de début et de fin de mot ou de phrase <> et des parenthèses/antislash permettant de spécifier une expression.

https://faqword.com/index.php/word/140-outils-d-edition/240-comment-utiliser-la-fonction-rechercher-remplacer-pour-chercher-les-mots-commencant-par-exemple-par-r-et-finissant-par-e
https://faqword.com/index.php/word/140-outils-d-edition/937-remplacer-differentes-expressions-par-une-seule-en-une-meme-operation
https://faqword.com/index.php/word/140-outils-d-edition/88-la-face-obscure-du-rr

On a peut-être des alternatives avec Notepad++ qui en principe a un plugin pour lire doc(x) et dispose de Regex appropriées pour isoler tout ce qui se trouve "avant" ou "après":
http://astuces.jeanviet.info/bureautique/rechercher-et-remplacer-du-texte-avec-notepad-et-quelques-regex.htm
voire la "solution du pauvre" si on peut se débarrasser provisoirement des enrichissements Word: en copiant vers un format texte, on doit aussi pouvoir via un Batch et une syntaxe de FINDSTR /V et des Regex un peu acrobatiques sortir vers un deuxième fichier texte tout ce qui contient pas la séquence coupable et le réintégrer dans Word.

1

Merci beaucoup Brucine pour votre réponse. @Marina est notre sainte patronne de l'utilisation de Word ^^. Je vais examiner en détails vos propositions, avec celle de @Jee pee, et vous indiquerai si j'ai résolu mon problème. J'ai trouvé dans la nuit une solution qui fonctionne pour le moment sur plusieurs documents, cependant une solution faute de mieux et qui ne fonctionnera pas avec tous mes fichiers. Comme les chaines en questions se trouvent à la fin de chaque document (1 page) que j'avais réuni en un seul document (plusieurs centaines de pages), j'ai repris les documents initiaux. Avec un bot (je ne maitrise pas le code), je les ouvre un par un, puis je recherche le début de la chaine. Ensuite, sans avoir à rechercher spécifiquement la fin de la chaine, je sélectionne jusqu'à la fin (touche fin) du document (qui est aussi la fin de la chaine). Comme rien ne suit, je peux supprimer tranquille. Mon bot répète l'opération pour chaque fichier dans mon dossier. J'espère trouver mieux avec vos propositions. Encore merci

0

Jee Pee m'a fourni une solution adéquate ci-dessous. Merci pour vos suggestions !

0
brucine Messages postés 14607 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 14 mai 2024 1 889 > Clem
15 août 2023 à 19:01

Il est vrai que je t'ai répondu hier très tard et que je me suis contenté de te fournir les pistes au lieu d'écrire et tester la Regex comme jee pee l'a fait, c'est mieux prêt à l'emploi.

1
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
Modifié le 15 août 2023 à 12:23

Bonjour,

D'abord si il y a de nombreux documents j'utiliserais une recherche de fichiers sur le texte contenu. Sur Windows10 dans l'explorateur j'ai intégré l'outil Ransack qui va me donner les fichiers .docx contenant du texte commencant et finissant par 2 valeurs, cela donne une bonne idée des occurences dans les différents fichiers :

"((Le poisson--" AND "))--c'est la fin de** l'histoire."

Dans Word, j'hésiterais à faire un remplacement automatique. Une chaine de fin pas exacte pourra faire terminer la séquence sur la chaine suivante 3 pages plus loin.

Avec la recherche avancée Word on peut trouver ces chaines. La première difficulté c'est qu'il y a dedans des caractères spéciaux, étoile, parenthèse, qu'il faut protéger (de leur signification dans la recherche) par un antislash \. Le l en début minuscule et majuscule pose aussi soucis, il faut mettre les 2 possibilités [].

Au final voilà la chaine à rechercher, l'* non protégé signifiant là n'importe quelle chaine entre les début et fin :

\(\([lL]e poisson--*\)\)--c'est la fin de\*\* l'histoire.



1

Merci beaucoup Jee pee pour votre réponse. Je vais examiner en détails vos propositions, avec celle de @Brucine, et vous indiquerai si j'ai résolu mon problème. Une nouvelle question néanmoins sur Ransack : incroyable la capacité de ce logiciel de trouver exactement ces chaines avec le même début et la même fin. Mais je suppose qu'il ne fait que mettre en évidence (déjà impressionant !) sans pouvoir traiter ces chaines (et les supprimer), n'est-ce pas ? Je mentionnais maitriser la fonction recherche/remplace mais seulement en fait ses rudiments. Merci beaucoup d'avoir écrit le prototype : je vais m'en inspirer pour ma recherche avec caractères spéciaux et vous dirai. J'ai trouvé dans la nuit une solution qui fonctionne pour le moment sur plusieurs documents, cependant une solution faute de mieux et qui ne fonctionnera pas avec tous mes fichiers. Comme les chaines en questions se trouvent à la fin de chaque document (1 page) que j'avais réuni en un seul document (plusieurs centaines de pages), j'ai repris les documents initiaux. Avec un bot (je ne maitrise pas le code), je les ouvre un par un, puis je recherche le début de la chaine. Ensuite, sans avoir à rechercher spécifiquement la fin de la chaine, je sélectionne jusqu'à la fin (touche fin) du document (qui est aussi la fin de la chaine). Comme rien ne suit, je peux supprimer tranquille. Mon bot répète l'opération pour chaque fichier dans mon dossier. J'espère trouver mieux avec vos propositions. Encore merci

0
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
16 août 2023 à 11:05

Ransack ne fait que de la recherche de fichiers, sur de nombreux critères, titre, taille, date, tags ... et donc aussi contenu. Ce dernier est utile quand on recherche un fichier en se rappelant de son contenu.

Pour la recherche avancée, avoir pratiqué les expressions régulières (regex) aide un peu ;-)


1

Alors là.............CHAPEAU !! Cela marche parfaitement ! J'ai repris votre chaine à rechercher, l'ai transposée dans mon cas avec les caractères spéciaux à protéger par un antislash \ , l'étoile * non protégée, etc. Et ça fonctionne ! Exit le bot, bienvenue tâche faisable et temps gagné !! En fait je ne maitrisais pas du tout bien les caractères spéciaux et n'aurais jamais trouvé seul. Maintenant je retiens cet usage de la fonction recherche/remplace !! Bravo et mille mercis JEE PEE. Je n'en reviens pas, je pensais avoir laissé une bouteille à la mer..... :) :) :) :)

0