[Résolu]Plusieurs rechercher-remplacer en même temps ?

Discussions à propos du traitement de textes Writer mais également sur l'éditeur HTML.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

[Résolu]Plusieurs rechercher-remplacer en même temps ?

Messagepar Dami » 11 Août 2008 16:42

Bonjour vous tous !

Je suis désolé de venir vous déranger, mais si vous pouvez m'aider à sauver du temps, je vous en saurais terriblement reconnaissant !

Voilà, je suis scénariste, mais malheureusement, lorsque j'étais jeune, je n'écrivais pas avec la bonne méthode (et mise en forme) et à présent, je dois réécrire plusieurs textes. Hors, mon histoire la plus longue que je dois réécrire fait environ 9000 pages et comme c'est là, j'en ai pour l'année. Ça ne me dérange pas, mais le problème, c'est que pendant ce temps, je n'écris pas autre chose. Bref, si je peux réussir à automatiser certaines choses grâce à des macros, extensions, fonctions que je n'avais pas vu ou autres, ce serait génial !

Donc, voici comment c'est actuellement:

Dom: Bonjour bonjour, comment allez-vous ?
???: Ça va.
Dom: (prend un grand respire, timide) Pourriez-vous m'aider ?
???: Demande ça à eux, pas à moi !

Et je dois changer le tout pour:

DAMI
Bonjour bonjour, comment allez-vous ?

INCONNU
Ça va.

Dami prend un grand respire.

DAMI
(timide)
Pourriez-vous m'aider ?

INCONNU
Demande pas ça à moi, demande ça à eux.


Je dois donc:

- Changer les noms et les mettre en majuscules et en gras;
- Faire un enter pas insécable entre chaque réplique;
- Faire un enter insécable entre le nom et la parole;
- Mettre tout ce qui est entre parenthèse en italique.

Je précise que le texte en question est séparé en 218 fichiers et que la solution d'une macro importable dans chacun pourrait être intéressante.

Mais je ne m'y connais tellement pas en macro...

J'aimerais donc:

- Changer tous les noms et les mettre en majuscules et en gras d'un coup sans avoir besoin de le refaire à chaque fichier et ce nom par nom;
- Mettre automatiquement des enters entre chaque réplique;
- Mettre automatiquement le contenu de toutes les parenthèses en italique.

Auriez-vous des suggestions ?

Merci beaucoup pour votre attention ! :oops:

Dami
Openoffice 2.4.1 sous Windows XP
Dami
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 11 Août 2008 16:24

Re: Plusieurs rechercher - remplacer en même temps ?

Messagepar SlOOoP » 12 Août 2008 09:00

Bonjour et bienvenue sur ce forum



- Changer tous les noms et les mettre en majuscules et en gras d'un coup sans avoir besoin de le refaire à chaque fichier et ce nom par nom

Pour cela : Edition > Recherche-remplace
Il faut cocher expression régulières pour ajouter des retours après le nom
ici j'ai mis 2 fois \n pour avoir un RC après le nom puis une ligne vide
N'oublies pas de cliquer sur le bouton format pour les caractères en Gras et Majuscules
capture.JPG


- Mettre automatiquement des enters entre chaque réplique

Toujours avec Recherche Remplace et les expressions régulières tu peux également faire cela
c'est à dire remplacer tous les RC par 2 RC
capture1.JPG


- Mettre automatiquement le contenu de toutes les parenthèses en italique.

Là j'ai pas trouvé :oops:

Mais je ne m'y connais tellement pas en macro...

C'est pas un problème :)
Outils Macros > Enregistrer une macro
puis tu fais toutes les manipulations, tu enregistres et tu la stockes dans le "dossier" mes macros, ainsi elles seront exploitable sur tous tes fichiers
capture2.JPG
OpenOffice 3.1 - Win XP SP2
SlOOoP
PassiOOnné
PassiOOnné
 
Message(s) : 744
Inscrit le : 27 Fév 2008 14:59

Re: Plusieurs rechercher - remplacer en même temps ?

Messagepar Ravioli » 12 Août 2008 09:27

Bonjour et bienvenue sur le forum,
Bonjour SiOOop,
voici ce que j'avais préparé... comme les copies sont jolies...
SiOOop est plus rapide que moi :wink:

  • déjà pour Dom : en DAMI à la ligne
    Rechercher : Dom :
    Autres options : Cocher Expressions régulières
    Remplacer par : DAMI\n (\ antislash : AltGr+8 permet le passage à la ligne)
  • Sélectionnez DAMI
    Bouton Format : Sélectionnez Gras
    Rechercher1.png

    [EDIT] Mettre comme SiOOoP le suggère deux \n à la suite pour sauter 2 lignes

  • Même chose pour Inconnu mais les 3 ? sont partiellement gênant...car ? est un caractère de recherche
    donc
    Rechercher : ^\?\?\?:
    ( le ^ pour je début de paragraphe, les \ pour que la recherche ne tienne pas en compte du caractère de recherche ?)
    Remplacer par : INCONNU\n Format : gras
    Rechercher2.png

    ...
  • Pour rechercher et transformer les expressions entre parenthèses:
    Rechercher :
    \([^\)]+\)
    c-à-d. une parenthèse ouvrante suivie d'un ou plusieurs caractères, à l'exception d'une parenthèse fermante, suivis d'une parenthèse fermante.
    Rechercher tout >
    Tapez la commande Ctrl + I, (I comme Italique) comme Ctrl + G serait pour le Gras) (*)
    Toutes les expressions seront en italique.
    Rechercher3.png

    Si vous désirez des parenthèses droites, non italiques,
    il suffira ensuite de modifier les parenthèses ouvrantes par une Recherche: \( et Remplacer par : \( avec le format Normal
    puis
    et les parenthèses fermantes par une Recherche: \) et remplacer par : \) avec le format Normal

    (*) Remarque, vous pouvez également, sans passer par la commande Ctrl + I
    tapez dans Remplacer par : &
    c.à.d. Ajoute la chaîne de caractères trouvée par la Recherche.
    par exemple &\n pour aller en plus à la ligne etc.
    et modifier le style ...

A+
AOO 4.1.1 LibO 4.4.5
Vista SP2, Win7 SP1, Win7 SP1 Pro, Win 8.1.1 Pro, Mac Intel OS X 10.10.5, Ubuntu 12.04 LTS 32 bits, OpenSuse 13.2, Debian 7
& LibO 4.0.6 pour Mac PPC 10.5.8
Avatar de l’utilisateur
Ravioli
GourOOu
GourOOu
 
Message(s) : 7610
Inscrit le : 18 Oct 2007 17:28

Remplacer "Fin de paragraphe" par "Retour à la ligne ↵"

Messagepar Dami » 12 Août 2008 16:45

Woah, merci beaucoup vous deux ! :D

Ça fonctionne !

Mais il me reste une toute petite question, savez-vous comment remplacer le enter non-insécable par le enter insécable ?

Enter insécable = Image

Est-ce qu'il y a un code pour lui aussi ?

Merci beaucoup encore, vous venez de me sauver 300 heures de travail environ ! :shock:

Dami
Openoffice 2.4.1 sous Windows XP
Dami
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 11 Août 2008 16:24

Remplacer Fin de paragraphe ¶ par Retour à la ligne ↵

Messagepar Ravioli » 12 Août 2008 18:19

Re,
d'abord que nous soyons d'accord sur la terminologie :D
enter insécable = le Retour-chariot ou Retour à la ligne ↵" : Maj +Entrée
enter sécable = Fin de paragraphe ¶ : Entrée

Sauf erreur de ma part
le \n dans "Remplacer par" introduit une Fin de paragraphe et non un Retour à la ligne
Il n'y a pas de codage pour le Retour à la ligne ↵ dans "Remplacer par :" pour la fonction "Rechercher & Remplacer" de OOo.


Bidouillage: J'utilise pour les textes longs qui comportent trop de Fin de paragraphes ¶ et de paragraphes vides , le passage par un copier-coller dans un message de Thunderbird :
collage clic droit avec l'option "Coller sans mise en forme" en fait format HTML et recopie et colle dans writer.
Le texte trouve des Retours à la ligne intermédiaires.
(Le collage spécial HTLM de OOo writer ne modifie pas les fins de paragraphes par un retour à la ligne.)
C'est hyper lourd et cela enlève le formatage ...
Cela ne conviendra pas à votre scénario...

Pour votre cas, une recherche des marques de fin de paragraphe
avec les expressions régulières : Rechercher : $
pour repérer les ¶ nécessitant la transformation,
Malheureusement , comme Maj + Entrée correspond à passer à l'occurrence suivante dans le Rechercher&remplacer, on est coincé :fou:

J'ignore si une amélioration est prévue...
A+
AOO 4.1.1 LibO 4.4.5
Vista SP2, Win7 SP1, Win7 SP1 Pro, Win 8.1.1 Pro, Mac Intel OS X 10.10.5, Ubuntu 12.04 LTS 32 bits, OpenSuse 13.2, Debian 7
& LibO 4.0.6 pour Mac PPC 10.5.8
Avatar de l’utilisateur
Ravioli
GourOOu
GourOOu
 
Message(s) : 7610
Inscrit le : 18 Oct 2007 17:28

Remplacer Fin de paragraphe ¶ par Retour à la ligne ↵ ?

Messagepar Pierre-Yves Samyn » 20 Août 2008 09:33

Bonjour

Juste pour compléter les excellentes réponses précédentes.

1) Plutôt que Retour chariot évoquant les anciennes machines à écrire, je pense qu'il serait préférable d'utiliser la syntaxe OOo : retour à la ligne.

2) Il existe un moyen pour insérer "automatiquement" ce retour à la ligne. Pour reprendre l'exemple donné (je ne reviens pas sur les autres manipulations de cherche-remplace).

: le retour à la ligne copié précédemment remplace la sélection...


J'ajoute pour information (car le sujet est lié) qu'il est possible de supprimer automatiquement les retours à la ligne sans passer par le cherche-remplace.


Aide OOo sur Suppression des retours à la ligne a écrit:La fonction AutoFormat vous permet de supprimer les retours à la ligne insérés dans le texte. En effet, des retours à la ligne peuvent être insérés automatiquement dans le texte d'une autre source que vous copiez et collez dans un document OpenOffice.org.

La fonction AutoFormat n'est disponible que pour le texte formaté avec le style de paragraphe Standard.

1.Choisissez Outils - AutoCorrection.
2.Dans l'onglet Options, vérifiez que la case à cocher Fusionner les paragraphes à une seule ligne à partir de 50% est activée. Pour changer le pourcentage minimal de longueur de ligne, double-cliquez sur l'option dans la liste et saisissez une autre valeur.
3.Cliquez sur OK.
4.Sélectionnez le texte contenant les marques de paragraphe à supprimer.
5.Dans la zone Appliquer le style de la barre de formatage, choisissez Par défaut.
6.Choisissez Format - AutoFormat - Appliquer.
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 11276
Inscrit le : 02 Mai 2006 09:42

Remplacer Fin de paragraphe ¶ par Retour à la ligne ↵

Messagepar Ravioli » 20 Août 2008 11:15

Bonjour Pierre-Yves,
enfin de retour...


1. Bien noté la terminologie pour le retour-chariot ou Retour à la ligne ↵ .
Je ne suis pas sûr pour autant que cela empêche, au contraire, la confusion entre la Fin de paragraphe ¶
et le Retour à la ligne ↵ dans l'esprit des utilisateurs débutants en Tdt :cry:

2. :super: OK, c'est la même méthode que pour l'Italique, "Sélectionner tout" puis taper une commande ou coller
pour que chaque occurrence soit remplacée... sans utiliser "Remplacer par".

Simple astuce pour bien sélectionner le Retour à la ligne seul :
— se placer devant le caractère non imprimable ↵
Sélection1.png
Sélection1.png (3.44 Kio) Consulté 14822 fois

— puis touche MAJ enfoncée +touche de direction vers la droite → ,
Sélection2.png
Sélection2.png (4.38 Kio) Consulté 14824 fois


seul le retour à la ligne est ainsi sélectionné.

Merci encore une fois, Pierre-Yves. :bravo:
AOO 4.1.1 LibO 4.4.5
Vista SP2, Win7 SP1, Win7 SP1 Pro, Win 8.1.1 Pro, Mac Intel OS X 10.10.5, Ubuntu 12.04 LTS 32 bits, OpenSuse 13.2, Debian 7
& LibO 4.0.6 pour Mac PPC 10.5.8
Avatar de l’utilisateur
Ravioli
GourOOu
GourOOu
 
Message(s) : 7610
Inscrit le : 18 Oct 2007 17:28

Remplacer Fin de paragraphe ¶ par Retour à la ligne ↵

Messagepar Pierre-Yves Samyn » 20 Août 2008 13:07

Bonjour Ravioli

Tu es toujours sur le pont avec des réponses toujours aussi bien illustrées :lol:

Ravioli a écrit:1. Bien noté la terminologie pour le retour-chariot et le Retour à la ligne ↵ .
Je ne suis pas sûr pour autant que cela empêche, au contraire, la confusion entre la Fin de paragraphe ¶
et le Retour à la ligne ↵ dans l'esprit des utilisateurs débutants en Tdt :cry:


Pour voir le bon côté des choses (réjouissons-nous que les épines aient des roses...), peut-être que la "proximité" entre les deux expressions attirera davantage l'attention sur les différences.

J'ai maintes fois pu vérifier en formation que montrer tout ce qui était "compris" dans cette fameuse fin de paragraphe (Retrait & espacement, Alignement, Enchaînements, Tabulations, Numérotations, Lettrines...) éclairait nettement la différence avec un simple retour à la ligne :)
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 11276
Inscrit le : 02 Mai 2006 09:42

Re: Plusieurs rechercher - remplacer en même temps ?

Messagepar denis.bertrand » 23 Août 2008 08:33

Contourner le bogue (ou oublie) du caractères "¶" (retour charriot) dans "Rechercher&Remplacer".

Problème :
."\n" dans la case rechercher (avec "expression régulière" cochée) trouve le caractère "↵"
."\n" dans la case remplacer(avec "expression régulière" cochée) inscrit le caractère "¶"
.Pour la chaine à rechercher, Il n'y a pas de caractère d'échappement du caractère "¶" (comme par exemple "^p" sous Weurd).

Solution :
1/Vérifier avec Rechercher qu'une chaine improbable n'est pas dans le texte à traiter (j'utilise souvent "£1")
2/ Avec "expression régulière" cochée, mettre dans Rechercher le caractère "$" et dans Remplacer la chaine inexistante (caractères "£1").
Vous avez alors fait disparaitre tous les "¶" (du coup le texte ne fait souvent qu'une seule immense ligne !) mais vous pouvez traiter le texte dans tous les Rechercher&Remplacer suivant.
3/A la fin, avec "expression régulière" cochée, mettre dans Rechercher le caractère "£1" et dans Remplacer la chaine \n pour retrouver vos "¶" dans le texte.
OpenOffice 2.4 sous Windows XP
denis.bertrand
Fraîchement OOthentifié
 
Message(s) : 1
Inscrit le : 23 Août 2008 08:00

Re: Plusieurs rechercher - remplacer en même temps ?

Messagepar Pierre-Yves Samyn » 23 Août 2008 09:57

denis.bertrand a écrit:Contourner le bogue (ou oublie) du caractères "¶" (retour charriot) dans "Rechercher&Remplacer".


Bonjour et bienvenue dans ce forum

Nouveau sur ce forum tu n'en maîtrises pas (encore :)) les habitudes. Je t'invite donc à (re)lire ses règles, notamment : viewtopic.php?p=1498#p1498

Par ailleurs, sur le fond, le dernier problème n'était pas celui que tu évoques mais l'insertion de retours à la ligne (et non les marques de paragraphes). Si tu relis le fil, tu verras que ce "problème" trouve également sa solution :)
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 11276
Inscrit le : 02 Mai 2006 09:42


Retour vers Traitement de textes

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot] et 11 invité(s)