Rechercher un mot a l'aide de la fonction instr

totti1017 -  
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour voila je veux rechercher deux mots dans mon document word et si je les trouve grace a la fonction instr j'ai ma variable p qui doit me renvoyer true or elle me renvoie faux es ce que quelqu'un pourrait m'aider voici mon code
Merci

Sub TrouverCourrier()
'
' TrouverCourrier Macro
'
'

    ' on définit les variables
    Dim Cible1 As String
    Dim Cible2 As String
    Dim p As Boolean
    
    
    
    Cible1 = "Confirmation"
    Cible2 = "Courrier"
    
    If InStr(ActiveDocument, Cible1) <> 0 Then
    p = "true"
    Else: p = "false"
    End If
    MsgBox (p)
    
     If InStr(ActiveDocument, Cible2) <> 0 Then
    p = "true"
    'Else: p = "false"
    
    MsgBox (p)
    End If
    
   
    
    
End Sub

2 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    ceci peut-être
    Option Compare Text
    
    Sub TrouverCourrier()
        Dim Cible1 As String
        Dim Cible2 As String
        Dim Texte As String
        Dim p As Boolean
        
        Cible1 = "Confirmation"
        Cible2 = "Courrier"
        Selection.WholeStory
        Texte = Selection
        
        If InStr(1, Texte, Cible1) <> 0 Or InStr(1, Texte, Cible2) <> 0 Then p = "true" Else: p = "false"
        MsgBox (p)
    End Sub
    

    Cdlt
    0
    1. totti1017 Messages postés 2 Statut Membre
       
      Bonjour,
      Merci beaucoup de votre réponse cela marche. J'ai une dernière question comment je pourrai cibler cette recherche juste sur le "coin" en haut a gauche de mon document
      Cordialement
      0
  2. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Option Compare Text
    
    Sub TrouverCourrier()
        Dim Cible1 As String
        Dim Cible2 As String
        Dim Texte As String
        Dim p As Boolean
        
        Cible1 = "Confirmation"
        Cible2 = "Courrier"
        Selection.HomeKey Unit:=wdStory
        Selection.Paragraphs(1).Range.Select
        Texte = Selection
        
        If InStr(1, Texte, Cible1) <> 0 Or InStr(1, Texte, Cible2) <> 0 Then p = "true" Else: p = "false"
        MsgBox (p)
    End Sub
    

    Ceci va rechercher la cible dans la première ligne trouvée du document
    A tester
    Cdlt
    0