Bonjour,
Jessaye de formater une string représentant un nombre, mais rien ny fait.
Tous les exemples que jai vu semble ne marcher que dans des cellules.
Hors je souhaiteraits juste formatter un nombre dans un document texte.
Ex : 1000,12 en 1000
Jutilise le format 3 : # ##0 pour tronquer les nombre apres la virgule.
Mais le problème réside dans le fait quapres avoir récupérer le format et
un curseur sur la chaine (le nombre) je narrive pas à appliquer le format.
Jai essyer « monCurseur = vFormat » mais cela ne marche pas.
Quelquun pourrait il maider svp ?
Voici mon code :
Sub TestFormat()
Dim monDocument As Object, monTexte As Object
Dim jeCherche As Object, posTrouve As Object, trouv As
Object
Dim monCurseur As Object
Dim saut As Integer
Dim texte As Object
monDocument = TheDoc
monTexte = monDocument.Text
jeCherche = monDocument.createSearchDescriptor
with jeCherche
.SearchString = "1000,12"
end with
trouv = monDocument.findAll(jeCherche)
print(trouv.count)
Dim vFormats, vFormat
vFormats = ThisComponent.getNumberFormats()
Dim aLocale As New com.sun.star.lang.Locale
Dim v
v = vFormats.queryKeys(com.sun.star.util.NumberFormat.ALL,
aLocale, False)
vFormat=vFormats.getbykey(v(3))
for x=0 to trouv.count -1
posTrouve = trouv(x)
texte = posTrouve.Text
monCurseur =
texte.CreateTextCursorByRange(posTrouve)
monDocument.currentController.Select(monCurseur)
monCurseur = vFormat
next
End Sub
Merci pour votre aide.