IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Macro de remplacement de marque de fin de paragraphe fonctionne partiellement [LibreOffice][Texte]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 8
    Points
    8
    Par défaut Macro de remplacement de marque de fin de paragraphe fonctionne partiellement
    Bonjour,

    Je dois traduire un gros livre (200 pages) et les tomes suivants de l'anglais vers le français. Le problème est que la version que je possède comporte de nombreuses marques de fin de paragraphe en plein milieu de phrases. Et ceci des milliers de fois.
    J'ai donc créé une macro qui fait le travail en plusieurs étapes afin de nettoyer le texte de tout un tas de bizarreries. Tout fonctionne bien jusqu'à la dernière étape où je dois remettre un caractère de fin de paragraphe à chaque fin de paragraphe. J'ai donc remplacé ce caractère "$" par un caractère non utilisé "µ". A la dernière étape, je remplace le caractère de substitution "µ" par "\n" dans le mode "Expression régulière". Et là, bizarrement, ça ne me remplace que 1, 2 ou 3 caractères seulement. Pour tout faire, il faut que je relance la macro. Je sais que je peux toujours le faire avec la boite "rechercher et remplacer alternatif" qui fonctionne bien en une seule passe, mais j'aimerais bien finir ma macro. D'autant plus que pour traiter un livre de 200 pages, cela risque de prendre la nuit.

    Voici donc la partie condensée de la macro qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub Reformate_texte_a_traduire()
    ' **************************************************
    ' cette macro remplace le caractère "µ" par une fin de paragraphe
    ' **************************************************
    Dim monDocument as Object
    Dim jeCherche as Object
    Dim compteur as Long	' nb d'occurences trouvées et/ou remplacées
    Dim Entree as String
    Dim Sortie as String
     
    monDocument = ThisComponent
    compteur = 0
     
    Entree = "µ"
    Sortie = "\n"
     
    monDocument = ThisComponent
    jeCherche = monDocument.createReplaceDescriptor
    jeCherche.SearchRegularExpression = True
    jeCherche.SearchString = Entree
    jeCherche.ReplaceString = Sortie
    compteur = monDocument.replaceAll(jeCherche)
     
    Print "Nombre de remplacements : " & compteur
     
    End sub

    Et un petit texte de test avec 6 remplacements :
    Bonjour à tous.µCeci est un texte de test.µIl va servir à tester la conversion du caractère "Mu" en caractère de fin de paraphaphe.µPar une macro, cela devrait fonctionner en une seule passe mais la macro ne me remplace que 1 ou 2 caractères quand ça lui plait.µPourtant, ça marche très bien avec l'outil "Alt. rechercher-remplacer" du menu avec l'option "Expressions régulières.µMerci de m'aider.µJean-Luc
    Je vous remercie d'avance.

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 274
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 274
    Points : 1 991
    Points
    1 991
    Par défaut
    Pas besoin de macro pour ce genre d'opération.
    Vous avez l'extension AltSearch qui permet ce type de remplacement de façon ludique.


    .
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut
    Citation Envoyé par Goldorak83 Voir le message
    Je vous remercie d'avance.
    Bizarre.

    Avec mon vieux LO 3.5.4.2 la macro, insérée par copier/coller depuis ici, s'est exécutée d'un seul coup en m'indiquant 6 remplacements et un texte correct après exécution :

    Nom : 6remplac.png
Affichages : 696
Taille : 9,5 Ko

    Citation Envoyé par Goldorak83 Voir le message
    la macro ne me remplace que 1 ou 2 caractères quand ça lui plait.
    Je m'étais positionné au début du document avant de l'exécuter, je viens de réessayer en étant positionné vers la fin et ça s'exécute tout aussi bien.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Bidouille Voir le message
    Pas besoin de macro pour ce genre d'opération.
    Vous avez l'extension AltSearch qui permet ce type de remplacement de façon ludique.
    .
    Oui, je connais et je l'ai utilisé. Ca fonctionne bien. mais je veux utiliser la procédure dans une macro, car c'est la dernière opération d'une macro avec beaucoup d'autres remplacements.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Avec mon vieux LO 3.5.4.2 la macro s'est exécutée d'un seul coup en m'indiquant 6 remplacements et un texte correct après exécution .
    [...]
    Je viens de réessayer en étant positionné vers la fin et ça s'exécute tout aussi bien.
    Merci d'avoir essayé. Ca me rassure que cette macro s'exécute bien. J'ai pensé à un bug de ma version de LO. Ton test confirmerait cette option. D'ailleurs, je n'arrive plus à enregistrer une macro. La version de mon LO est 5.1.6.2.

    Je vais essayer sur un autre ordi.

    Merci d'avoir testé.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Points : 8
    Points
    8
    Par défaut
    Ca fonctionne sur un autre ordinateur. C'est donc ma version de Libre Office qui est buguée. Je vais la réinstaller dès que j'aurai le temps.
    Pour contourner provisoirement le problème, j'ai utilisé l'enregistreur de macros de mon 2ème ordi.
    Ma macro fonctionne, c'est l'essentiel pour moi.

    Merci à tous pour votre aide.

    Je classe l'affaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. macro recherchev/remplacer adaptée (suite et fin ?)
    Par max76 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/12/2012, 08h38
  2. macro word remplacer image par texte
    Par manu7762323 dans le forum VBA Word
    Réponses: 3
    Dernier message: 31/01/2008, 15h01
  3. Macro sup action touche entrer en fin ligne
    Par rico63 dans le forum VBA Word
    Réponses: 2
    Dernier message: 30/08/2007, 13h32
  4. Macro pour remplacer mot anglais par mot francais,..
    Par midiweb dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/07/2007, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo