Le 10/04/2016 15:04, Landron Gérard a écrit :
J'ai refait quelques tests
c'est bien le tiret conditionnel car si je mets
mauvais() = Array("Ø","$",Chr(173))
le caractère est bien remplacé  mais il ne se passe rien avec
mauvais() = Array("Ø","$", "Â" & Chr(173))

et si tu déclares une variable texte :

Dim MaVar As String

puis que tu l'initialises :

MaVar = "Â" & Chr(173)

enfin que tu la places dans la déclaration du tableau Mauvais()

mauvais() = Array("Ø","$", MaVar)

ça donne quoi ?


Ta Sub devient donc :
8< ---------------------------------------------
Sub police
'Andy dit que dans le futur, ils devront peut-être être de type Variant pour travailler avec Array()
Dim MaVar As String
Dim mauvais(5) As String, bon(5) As String
Dim oDocument as object, oReplace as object

MaVar = "Â" & Chr(173)
' Attention ! Mauvais() et Bon() DOIVENT avoir le même nombre d'éléments !
mauvais() = Array("Ø","$","‡","æ","ó","á","é","Δ","©","ú","Æ", MaVar)
bon() =     Array("ė","ą̃","Š","š","ų","ẽ","ó","á","é","ǽ","©", "í")

oReplace = ThisComponent.createReplaceDescriptor()
oReplace.SearchCaseSensitive = True

For n = lbound(mauvais()) To ubound(mauvais())
        oReplace.SearchString = mauvais(n)
        oReplace.ReplaceString = bon(n)
        ThisComponent.ReplaceAll(oReplace)
Next n
End Sub
--------------------------------------------- >8


Dans la boite de dialogue de chercher/remplacer on ne peut pas non plus
joindre les deux., Il me semble que c'était possible autrefois mais je
en suis pas assez sûr pour l'affirmer

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.

Hors de toute macro, as-tu essayé l'extension AltSearch ? Elle est vraiment très puissante et très utile dans bien des situations. Peut-être que ça pourrait le faire dans ton cas. Reste à connaître le contexte pour savoir si AltSearch est mieux qu'une macro ou pas.

--
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 à