Le 10/04/2016 18:06, Landron Gérard a écrit :

Dans le dialogue Rechercher & remplacer, il faut rechercher 'Â' et
coller le tiret insécable qu'on aura copié dans le texte. Là, ça marche.
Le chr() ne peut pas marcher.
Il n'admet plus cela ! caractère introuvable

Il faut utiliser la recherche avec les expressions régulières. Pour le tiret insécable, le code est \u00AD. Voir ici :
http://sirius.on-rev.com/regex/regular_expressions_writer.html

J'ai essayé sur ton échantillon (ne mets pas les quotes simples ') :
Rechercher : 'Ã\u00AD'
Remplacer  : 'í'

-> ça marche.

Par macro, il faut écrire ceci :
8< --------------------------------------------------------
Sub police
'Andy dit que dans le futur, ils devront peut-être être de type Variant pour travailler avec Array()

        Dim mauvais() As String
        Dim bon() As String
        Dim oDoc as object
        Dim oReplace as Object
        Dim n As Long

        oDoc = ThisComponent    
        ' Attention ! Mauvais() et Bon() DOIVENT avoir le même nombre 
d'éléments !
mauvais() = Array("Ø","$","‡","æ","ó","á","é","Δ","©","ú","Æ","Ã\u00AD")
        bon() =     Array("ė","ą̃","Š","š","ų","ẽ","ó","á","é","ǽ","©", "í")
        
        oReplace = oDoc.createReplaceDescriptor()
        oReplace.SearchCaseSensitive = True
        oReplace.SearchRegularExpression = True
        
        For n = lbound(mauvais()) To ubound(mauvais())
            oReplace.SearchString = mauvais(n)
            oReplace.ReplaceString = bon(n)
            oDoc.ReplaceAll(oReplace)
        Next n
End Sub
-------------------------------------------------------- >8

--
Jean-Francois Nifenecker, Bordeaux

--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à