Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Trouver un mot dans un fichier word et supprimer la ligne ou il se trouve depuis Exce

zephir94

XLDnaute Impliqué
Bonjour à tous,

je voudrais rechercher un mot dans un fichier Word déjà ouvert ,se mot ne pourra être que 4 fois maximun dans le document.
j'initialise le l'ouverture du fichier word par :leDoc
J'ai donc écris ce code :

Code:
set leDoc =traitementTexte.documents.open(ActiveWorkbook.Path &"/essai.doc") ' ça marche bien le fichier Word s'ouvre 
for i = 1 to 4 ' vue que le mot ne pourras être présent que 4 fois
leDoc.content.Find.Execute findtext:="monmot", Forward=true
leDoc.Selection.Expand unit:=wdParagraph ' il me trouve en paragraphe 4 le mot en pas à pas
leDoc.Selection.Range.Delete ' il n'efface pas la ligne !
Next i ' il ne boucle pas à deux et passe à la suite  de la macro !

Merci par avance pour vos aides
 
Dernière édition:

zephir94

XLDnaute Impliqué
Re : Trouver un mot dans un fichier word et supprimer la ligne ou il se trouve

Bonjour à tous, je tourne en rond mais hélas sans succès !

j'ai essayé :

Code:
 For ii = 1 To 4
   Dim txt As String
    Dim traitementTexte As Word.Application
    Set traitementTexte = New Word.Application
 traitementTexte.Visible = True
  Dim leDoc As Document
    Set leDoc = traitementTexte.Documents.Open(ActiveWorkbook.Path & "/test.doc")
With leDoc
leDoc.Content.Find.Execute findtext:="scoubi"
 
If findtext = "scoubi" Then
     leDoc.findtext.Select
      leDoc.Selection.Delete
Else
End If
 End With
 Next ii

puis :

Code:
Dim txt As String
    Dim traitementTexte As Word.Application
    Set traitementTexte = New Word.Application
  traitementTexte.Visible = True
  Dim leDoc As Document
    Set leDoc = traitementTexte.Documents.Open(ActiveWorkbook.Path & "/test.doc")
 For ii = 1 To 4
 With leDoc
leDoc.Content.Find.Execute findtext:="scoubi"
leDoc.Selection.Expand unit:=wdParagraph
If ((leDoc.Selection.Text) = "scoubi") Then
      leDoc.Selection.range.Delete
Else
End If
 
End With
next ii

en fait en pas findtext reste vide ! alors que si j'écris par exemple :

Code:
leDoc.Content.Find.Execute findtext:="scoubi", ReplaceWith:="trouvé", Replace:=wdReplaceAll

le mot scoubi est bien remplacé par trouvé
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…