Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


Beaucoup trop de lignes pour quelque chose que l'on peut gérer autrement. La Macro ne me semble pas nécessaire....

Claire

Le 16/03/2021 à 13:11, essaillon a écrit :

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


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

Context


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.