Bonsoir
Tout d'abord, je précise que je ne suis pas du tout, mais alors pas du
tout spécialiste des macros : en fait, je n'y connais rien.
Là, je suis en train de modifier une macro basic existante pour
l'adapter à mes besoins, et j'y arrive... presque.
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).
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"&"_ ".
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.
J'ai l'impression qu'il n'est pas possible de faire un remplacement par
une expression régulière.
Au quel cas, il me faudrait non pas "remplacer", mais rechercher le
retour charriot (\n) pour dire à la macro de le faire suivre par "_ ".
Mais là je suis incompétent...
Je prends toutes les idées...
Merci
Luc
--
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
- [fr-users] Macro : remplacer par une expression régulière ? · Mamin Luc
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.