Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Recherche avancée et expression régulière - deux mots mais pas de saut de paragraphe
    Bonjour,

    Je travaille sur un utilitaire en VBA excel pour rechercher et extraire les paragraphes contenant une expression donnée de un ou plusieurs documents words.
    Cela fonctionne bien, néanmoins j'ai eu une nouvelle demande et je bloque sur la problématique suivante :

    Je recherche tout paragraphe contenant les mots mot1 et mot2 mais sans saut de paragraphe à l'intérieur.

    Pour l'instant je procède ainsi, je fais donc une recherche mot1*mot2 et mot2*mot1 en activant l'option Caractères génériques de la recherche.
    Néanmoins, je récupère dans ce cas des parties de document avec un ou plusieurs saut de pragraphe à l'intérieur ...normal puisque le saut de paragraphe ^13 en caractère générique est un caractère qui match avec l'étoile.
    j'ai essayé mot1*[!^13]mot2 ; mot1*[!^13]*mot2 sans succès ...

    Merci d'avance,

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 482
    Points : 11 389
    Points
    11 389
    Billets dans le blog
    33
    Par défaut
    Citation Envoyé par gls80 Voir le message
    Bonjour,

    Pour faire cela en VBA, je ferais une boucle sur la collection paragraphs du document et je testerais chaque paragraphe pour vérifier la présence du ou des mots avec l'instruction Instr. Le cas échéant, j'alimenterais une matrice pour mémoriser l'index des paragraphes et la position des mots dans le document. Une lecture de la matrice permettrait ensuite de surligner les mots dans le document.
    Si je me souviens bien, il y a déjà un ou plusieurs exemples de ce type dans ce forum.
    Sinon à peu près dans le même ordre d'idée sur mon blog : Word-outil-surlignage-multi-chaines-multi-couleurs/
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour Eric,

    Merci pour ton retour.

    Dans l'idéal j'aurai préféré rester sur ma méthode avec .find car étant donné la volumétrie des documents que j'exploite (une centaine de documents comportant chacun une centaine de pages) je crains que de parcourir chaque paragraphe prenne du temps alors que j'ai été étonné de la célérité du .find.

    Néanmoins faute de mieux, je pars sur cette piste.

    Encore merci

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 482
    Points : 11 389
    Points
    11 389
    Billets dans le blog
    33
    Par défaut
    Citation Envoyé par gls80 Voir le message
    Avant de t'engager dans la construction d'une usine à gaz, as-tu été voir ce que proposait Marina ?
    http://faqword.com/index.php/cherche?q=find

    Sinon en attendant un peu, tu auras peut-être une réponse des spécialistes des expressions régulières.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 627
    Points : 4 069
    Points
    4 069
    Par défaut
    hello,
    Citation Envoyé par gls80 Voir le message
    j'ai essayé mot1*[!^13]mot2 ; mot1*[!^13]*mot2 sans succès ...

    Merci d'avance,
    Tu peux essayer ceci :
    le @ c'est pour dire une occurrence ou plus
    une occurrence ou plus de pas de paragraphe = 0 nouveau paragraphe

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup pour vos retours,

    j'attends que mon usine à gaz est terminée de boucler sur tous les fichiers et je teste çà.

Discussions similaires

  1. [CS4] Rechercher et remplacer - Expressions régulières
    Par lemikeone dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 23/06/2011, 20h56
  2. [RegEx] expression reguliere pour remplacer un mot mais pas un autre
    Par chagam dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2011, 15h32
  3. Recherche d'un Expression Régulière
    Par sebounator dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/10/2008, 17h59
  4. Réponses: 6
    Dernier message: 03/05/2007, 17h13
  5. Réponses: 5
    Dernier message: 20/09/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo