Le 25/08/2022 à 19:16, Bernard Siaud alias Troumad a écrit :
Bonjour
Voici un fichier test (vous l'avez déjà vu passer plus d'une fois...)
https://troumad.org/COF/Feuille_Chronique.ods
Si vous regardez par exemple la case B15 de la page recto,
normalement le titre est d'une autre couleur. Il en est de même pour
les cases de B23 à S27.
Enfin normalement, ça veut dire quoi ?
Elles ont été sauvegardées avec le titre en couleur. Quand on ouvre
le document (sans lancer les macros) le texte dans les cases est tout
en noir. Les lignes 21 à 27 des macros standard "armures" relancent
les procédures qui colorient les cases afin de mettre les couleurs
souhaitées. Elles s'exécutent automatiquement au démarrage : donc si
on permet les macros, on ne se rend compte de rien.
J'ai comme l'impression que le mise en forme à l'intérieur des cases
du tableur est très instable. La fonction ci-dessous parfois enlève la
mise en forme, et parfois, elle la maintient. Normalement, elle ne
devrait agir que sur la taille des caractères, pas leur couleur ou le
fait que les caractères soit en gras ou non. Sur des cases mises en
forme de la même manière, les résultats sont différents. Le plus
surprenant, c'est que j'ai toujours le même résultat, c'est toujours
les mêmes cases qui perdent leur mise en forme, parfois la couleur ou
la couleur + les caractères mis en gras
sub taille_caract(page as integer,xj as integer,y as integer,dx as
integer,dy as integer,taille_c as single)
rem
----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim xf as string
dim i,j as integer
dim x as string
j=xj+1
x=""
while j>25
x=x+chr$(asc("A")+(j-1) mod 26)
j=j/26
wend
x= "$"+chr$(asc("A")+j-1)+x+"$"+y
j=xj+dx+1
xf=""
while j>25
xf=xf+chr$(asc("A")+(j-1) mod 26)
j=j/26
wend
xf=x+":$"+chr$(asc("A")+j-1)+xf+"$"+(y+dy)
rem
----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem
----------------------------------------------------------------------
rem dim args1(0) as new com.sun.star.beans.PropertyValue
rem args1(0).Name = "ToPoint"
rem args1(0).Value =x
rem dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = page+1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem
----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = xf
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
rem
----------------------------------------------------------------------
dim args3(2) as new com.sun.star.beans.PropertyValue
args3(0).Name = "FontHeight.Height"
args3(0).Value = taille_c
args3(1).Name = "FontHeight.Prop"
args3(1).Value = 100
args3(2).Name = "FontHeight.Diff"
args3(2).Value = 0
dispatcher.executeDispatch(document, ".uno:FontHeight", "", 0, args3())
end sub
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.