Bonjour,
Je pense que pour répondre à ton besoin tu peux faire appel à "Selection.EndOf Unit:=wdParagraph, Extend:=wdExtend".
Sans trop entrer
dans les détails, voici ce que je te propose

, note qu'au passage j'ai rectifié
quelques petites erreurs :
Selection.Find.ClearFormatting
'Déclaration du tableau de champs
Dim mesChamps(3) As String
mesChamps(1) = "(28)"
mesChamps(2) = "(152)"
mesChamps(3) = "(170)"
' Déclaration du compteur
Dim i As Integer
i = 1
'début du parcours de tableau
While i <= 3
'Debut recherche
Do
With Selection.Find
.Text = mesChamps(i) 'cherche le champ i du tableau
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute 'execution de la macro, la selection apparait en surbrillance
'Fin recherche
If Not Selection.Find.Found Then Exit Do 'Suppression du champ sélectionné
With Selection
If .Find.Forward = True Then
Selection.MoveRight Unit:=wdCharacter, Count:=0 'Place le curseur en début de ligne
Selection.Extend 'active la fonction de sélection
Selection.EndOf Unit:=wdParagraph, Extend:=wdExtend Selection.TypeBackspace 'Effacer la ligne ainsi sélectionnée
Selection.Fields.Update 'sortir de la fonction sélection (facultatif)
End If
End With
'Selection.Find.Execute
Loop While Selection.Find.Found 'Fin de la boucle
i = i + 1 'Passe à la recherche du champ suivantWend ' fin du parcours de tableau
Bonne programmation.
Cordialement medelidrissi
En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.