cs_Apolinaire
Messages postés44Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention25 avril 2019
-
19 avril 2019 à 10:13
Whismeril
Messages postés18399Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention28 mai 2023
-
25 avril 2019 à 14:37
Bonjour,
Dans un fichier Word de plusieurs milliers de paragraphes, il y en a plusieurs centaines "formatés" ainsi :
<nombre>¶
Par exemple :
7¶
ou
59¶
ou encore
1754¶
Je voudrais trouver la syntaxe correcte pour trouver <nombre>¶
Quand je fais :
With Selection.Find
.MatchWildcards = True
.Text = ("[0-9]" & Chr(13))
.Execute
End With
je ne trouve qu'un chiffre devant ¶. Ce qui peut arriver ailleurs que dans les paragraphes recherchés. Comme :
Je vous apporte les 12¶
où mon code sélectionne 2¶, ce qui ne me convient pas.
A votre avis, quel ".Text =" faut-il écrire pour ne trouver que les paragraphes <nombre>¶ ?
Merci de votre aide.
cs_Apolinaire
Messages postés44Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention25 avril 2019 25 avril 2019 à 11:07
Bonjour,
Je réponds avec un peu de retard, vacances de Pâques obligent...
Merci Whismeril pour ton intervention. Je connaissais "like" mais pas les "RegExp" que tu m'as fait découvrir. Un sacré outil que je n'oublierai pas.
Mais ça ne résout pas mon problème. Avant de poser ma question, je savais trouver mes fameux paragraphes "nombre¶" mais au prix d'un For each para in ActiveDocument.Paragraphs ... Next para. Sur plusieurs milliers de paragraphes, c'est très long en temps. Mon idée était de passer par Selection.Find car cette fonction est quasiment instantanée, même si le texte recherché est très loin dans le document.
Mon souci est donc de trouver une syntaxe adéquate à Selection.Find.Text =
Si on pouvait y mettre une RegExp, ce serait magique. Mais hélas, comme pour Like, les comparaisons doivent se faire une à une et c'est très long. On retombe inexorablement dans un For each para.
En résumé, j'arrive à ce que je veux faire mais je n'arrive pas à améliorer mon code en rapidité.
Tant pis...