Bon,
Avec une macro à développer en une fonction. Pour l'instant ça ne traite
que le contenu de A2 dans B2
sub compta9
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "=A2&REPT("+CHR$(34)+"0"+CHR$(34)+";9-NBCAR(A2))"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$C$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "StringName"
args4(0).Value = "=stxt(B2"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "StringName"
args5(0).Value = "=STXT(B2;1;3)&"+CHR$(34)+"
"+CHR$(34)+"&STXT(B2;4;3)&"+CHR$(34)+" "+CHR$(34)+"&STXT(B2;7;3)"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args5())
call compta9_2
call supp_c
end sub
sub compta9_2
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$c$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$b$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(5) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Flags"
args4(0).Value = "S"
args4(1).Name = "FormulaCommand"
args4(1).Value = 0
args4(2).Name = "SkipEmptyCells"
args4(2).Value = false
args4(3).Name = "Transpose"
args4(3).Value = false
args4(4).Name = "AsLink"
args4(4).Value = false
args4(5).Name = "MoveMode"
args4(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args4())
end sub
sub supp_c
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$C$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
end sub
*Sandy*-Pascal Andriant
essaillon-sederon.net <https://essaillon-sederon.net>
spipfactory.fr <https://spipfactory.fr>
avatar Sandy
Le 16/03/2021 à 13:05, Ocleyr2lalune a écrit :
On va dire que ma réponse complète est chez le facteur, mais c'est
bien ce principe...
Pour les espaces : remplacer.
En espérant que le facteur retrouve will chemin avec le fichier
exemple et toutes les explications
@Sandy: en fait on se passe du si, s'il y en a 9, il y aura 0
répétitions....
Claire
Le 16 mars 2021 à 13:01 +0100, Sandy Andriant
<essaillon.26@gmail.com>, a écrit :
Autre méthode pour avoir toujours 9 chiffres avec complément de 0
à droite
Dans la colonne A : taper le nombre simple
en B ajouter la formule :
=SI(NBCAR(A2)=9;A2;A2&REPT("0";9-NBCAR(A2)))
qui répète autant de 0 à droite que nécessaire [
REPT("0";9-NBCAR(A2)) ]
pour avoir un mot de 9 lettres.
Mais je n'ai pas trouvé comment le formater pour avoir des blocs de 3
ensuite.
Sandy-Pascal Andriant
Le 16/03/2021 à 10:13, Sandy Andriant a écrit :
Re,
En format texte @ 000 000
mais c'est aligné à gauche et ça ne se calcule pas !
Sandy-Pascal Andriant
Le 16/03/2021 à 10:00, SB45730 a écrit :
Bonjour à tous,
Je bute sur un problème de présentation dans un tableau.
Je dois indiquer des numéros de comptes comptables à 9
chiffres avec
des zéros non significatifs à droite. Hors ils se mettent
à gauche.
Un exemple :
Je saisi 512. Ça me donne à l'affichage 000 000 512 alors
qu'il me
faudrait 512 000 000.
Ça doit être tout bête mais je ne trouve pas comment faire
pour
mettre ces zéros non significatifs automatiquement (sans
faire une
autre colonne avec un alignement à gauche) à droite.
Si quelqu'un sait, je le remercie de son aide.
Cordialement.
Stéphane.
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous
désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
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.