Remplacement par "" qui ne fonctionne pas.
Bonjour à tous,
- Le contexte : La fonction ci-dessous est intégrée dans une module Access et doit être compatible avec les outils office 2002 et 2013.
Elle est utilisé dans un 'publipostage' maison via un outil Access sur le document Word actif.
- Mon problème : quand NewValue = "", aucun remplacement n'est effectué, sauf si je remplace "" par un espace comme dans le 'test Gillou.
Mais au rendu final, c'est pas propre.
Y a t'il un moyen pour forcer le remplacement par une chaîne vide via cette fonction ?
Code:
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
| Public Sub ReplaceInWord(ByRef appword As Object, ByRef OldValue As String, ByRef NewValue As String, Optional Lngcolor As Long = 0)
'remplace tous les occurences de OldValue par NewValue dans le document actif de appword :
Debug.Print OldValue & " > " & NewValue
Dim tmpRange As Word.Range
For Each tmpRange In appword.ActiveDocument.StoryRanges
With tmpRange.Find
.Text = OldValue
'test Gillou
'If NewValue <> "" Then
.Replacement.Text = NewValue
'Else
' .Replacement.Text = " "
'End If
.Wrap = wdFindContinue
.ClearFormatting
.Replacement.ClearFormatting
If Lngcolor <> 0 Then
.Font.Color = Lngcolor
End If
.Replacement.Highlight = False
.Forward = True
.Execute Replace:=wdReplaceAll
End With
Next tmpRange
End Sub |
Merci d'avance pour les infos