IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

VBA Word Discussion :

Recherche sur 2 mots séparés dans une même page


Sujet :

VBA Word

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Recherche sur 2 mots séparés dans une même page
    Bonjour

    j'aimerai faire une recherche sur 2 mots qui ne sont pas côte à côte et qui doivent être situés dans une même page, ou dans un même paragraphe, ou dans une même phrase.

    Connaitriez vous une méthode simple pour renvoyer ce résultat?

    Merci d'avance.
    Arsène.

  2. #2
    Membre Expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Par défaut
    Bonjour,

    cela peut être bidouiller en récupérant les numéros de page par exemple et les comparant. C'est quand même du style double boucle avec un collapse dans la zone de recherche pour la réduire.
    Ou en recherchant les deux termes dans le même paragraphe ou la même phrase. quelque chose de ce style par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub pararech()
    Dim rangepremot As Range
    Dim rangesecmot As Range
    Dim indexparamot1 As Long
    Dim indexparamot2 As Long
     
    Set rangepremot = ActiveDocument.Range
    Set rangesecmot = ActiveDocument.Range
    With rangepremot.Find
    .Text = "mot1"
    .Execute
    End With
    With rangesecmot.Find
    .Text = "mot2"
    .Execute
    End With
    rangepremot.Select
    Selection.MoveRight Count:=1
    Selection.HomeKey wdStory, wdExtend
    indexparamot1 = Selection.Paragraphs.Count
    rangesecmot.Select
    Selection.MoveRight Count:=1
    Selection.HomeKey unit:=wdStory, Extend:=wdExtend
    indexparamot2 = Selection.Paragraphs.Count
     
    If indexparamot1 = indexparamot2 Then
    MsgBox "même paragraphe"
    End If
    Set rangepremot = Nothing
    Set rangesecmot = Nothing
     
    End Sub

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Sélectionner un paragraphe
    Merci beaucoup. Cette réponse m'a un peu mis sur la voie. Je pense qu'il faut sélectionner le premier mot, étendre la sélection au paragraphe qui le contient et ensuite sélectionner le deuxième mot s'il existe à l'intérieur de ce paragraphe.

    Ma première question est donc : comment sélectionner le paragraphe où est positionner le mot?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Sélectionner un mot à l'intérieur d'un paragraphe
    Bonjour,

    j'ai trouvé la solution à ma question précédente. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Selectionparagraphe()
     
    Dim rangepremot As Range
     
    Selection.WholeStory
    Selection.MoveLeft Unit:=wdCharacter, count:=1
     
    Set rangepremot = ActiveDocument.Range
    With rangepremot.Find
    .text = "mot 1"
    .Execute
    End With
     
    rangepremot.Select
     
    Selection.StartOf Unit:=wdParagraph
    Selection.MoveEnd Unit:=wdParagraph
     
    End Sub
    J'aimerai maintenant rechercher le deuxième mot dans le paragraphe sélectionné. Comment dois-je faire? Merci de votre aide.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/03/2015, 16h32
  2. Réponses: 4
    Dernier message: 22/04/2014, 13h11
  3. Réponses: 10
    Dernier message: 06/09/2012, 10h30
  4. Recherche dans une même page JSP
    Par angelmn dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 22/05/2012, 16h26
  5. [RegExp] recherche d'un mot précis dans une chaine
    Par oceane751 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/04/2012, 11h23

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