Bonsoir Luc,
Le 25/01/2024 à 21:33, Mamin Luc a écrit :
En résumé : après sélection de cellules Calc, la macro fabrique un
fichier Writer dans lequel je peux piocher ce qui m'intéresse pour faire
un tableau Spip.
Cela fonctionne, mais j'ai un besoin que je n'arrive pas à résoudre :
transformer un tout petit peu le "retour charriot" de Calc (CTRL + Entrée).
Il s'agit en fait d'un saut de ligne (LF "line feed", code Ascii décimal
10).
Dans la macro, je fais rechercher "\n" et je mets en remplacement
"n\"&"_ ".
J'ai en effet besoin que le retour charriot soit suivi d'un "tiret bas +
espace".
La recherche s'effectue correctement, mais le remplacement transforme le
retour charriot en saut de paragraphe : un peu comme si le remplacement
se faisait en "\p"&"_ ".
C'est "normal"... C'est une caractéristique du Rechercher/Remplacer de
LibreOffice. Voir ici
https://help.libreoffice.org/7.5/en-US/text/shared/01/02100001.html?&DbPAR=WRITER&System=UNIX
où on peut lire pour \n
8< ----------------------------------------
When entered in the Find text box, finds a line break that was inserted
with the Shift+Enter key combination in Writer, or the Ctrl+Enter key
combination in a Calc cell.
When entered in the Replace text box in Writer, inserts a paragraph
break that can be inserted with the Enter or Return key. Has no special
meaning in Calc, and is treated literally there.
-------------------------------------- >8
Telle qu'elle est, ta macro est la victime du traitement du caractère LF.
Tu pourrais donc modifier ta macro en conséquence en remplaçant sans
passer par les expressions régulières :
Ancien = Chr(10)
Nouveau = Ancien & "_ "
Et là ça ne me convient pas du tout...
Extrait :
'RemplacerChaine
Dim oDoc As Object
Dim Remplace As Object
Dim Ancien As String , Nouveau As String
Ancien = "\n"
Nouveau = "\n"&"_ "
oDoc = ThisComponent
Remplace = oDoc.createReplaceDescriptor
Remplace.SearchRegularExpression = True
Remplace.SearchString = Ancien
Remplace.ReplaceString = Nouveau
oDoc.replaceAll(Remplace)
N'étant pas spécialiste du tout des macros basic ou autre, je ne sais
pas comment faire.
Bonne soirée,
--
Jean-Francois Nifenecker, Bordeaux
--
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.