- Chercher/remplacer du texte par un champ
- Remplacer disque dur par ssd - Guide
- Word remplacer un mot par un autre - Guide
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
4 réponses
Modifié le 6 août 2022 à 14:04
Bonjour,
Voici un lien (ancien mais la technique reste la même) :
https://www.openoffice.org/fr/Documentation/Writer/OOoPublipostCalc.pdf
Après avoir créé la source de données, une fois sur le document Writer, appeler la source de données et glisser-déposer les têtes de colonnes à l'endroit voulu sur le document.
Bonne lecture.
Merci, mais j'ai dû mal m'exprimer. Je ne cherche pas la technique pour faire un publipostage.
J'ai un document dans lequel je dois remplacer par exemple "Pierre" partout par le champ de publipostage <Prénom>. (le mot recherché apparaît 800 fois dans le document, et j'ai 40 champs comme ça à traiter). A terme, je veux obtenir un document qui sera prêt pour être personnalisé à la demande.
Je veux donc utiliser la fonction Chercher/Remplacer. Or, celle-ci ne permet pas —que je sache— de chercher du texte et de le remplacer par un champ…
6 août 2022 à 23:32
Bonjour,
Vous êtes sur un document Calc ou Writer ?
Bonjour
Le fichier qui doit devenir le fichier à publiposter est un fichier Writer bien sûr, et la source des données est un fichier Calc. Mais j'ai trouvé la solution !
Elle est ici :
https://ask.libreoffice.org/t/find-and-replace-fields/15633
Pour contourner la limitation du Rechercher/Remplacer de LibreOffice, qui ne permet pas de chercher un texte de le remplacer par un champ, il faut passer par l'édition du code du fichier XML. C'est un peu casse-pieds (pour dire le moins) mais ça marche.
J'ai donc un texte (il s'agit d'un long doc, qui avait été fait pour un seul usage, donc sans variables, et que je veux réutiliser, avec des variables. Il comporte plein de fois des nombreux noms et prénoms, et des adresses, etc).
Prenons l'exemple d'une société à qui un apporteur d'affaires a apporté un client, et on lui a fait un doc récap, du style : Cher M. Pigeonnier, nous sommes très heureux et reconnaissant à M. Ginelli de nous avoir mis en contact avec vous. Plus loin vous verrez notre présentation relative à votre projet à Bordeaux, et vous pourrez toujours contacter M. Ginelli à St-Brieuc.
Et comme ça pendant 40 pages.
Le document est parfait. Il est tellement bien qu'il est décidé que ça va devenir le doc pour tous les clients.
Ceux-ci sont listés dans une base de données sur Calc (cadre un tableau avec une ligne par client et une colonne par info (prénom, Nom, etc).
Je dois donc chercher dans mon long doc writer les tonnes d'occurrences de "André", de "Ginelli", de "St-Brieuc", de "Martin", "Pigeonnier", "Bordeaux" par des champs variables : <Prenom_Apporteur>, <Nom_Apporteur>. Comme dit précédemment, LibreOffice ne permet pas de remplacer du texte par un champ.
La solution de Cyclelochness sur le forum ask.libreoffice.org est d'exporter le fichier .odt au format texte Flat XML (.fodt), de l'ouvrir dans un éditeur de texte (dans mon cas TextEdit sur Mac) et d'y faire le Chercher/Remplacer. Il faut bien sûr chercher dans le fichier fodt à quoi peut ressembler un champ variable (j'en avais inséré un à la main) et copier ce code. Ensuite on cherche partout par exemple "André" et on le remplace par le code. On enregistre, on rouvre dans LibreOffice et ça marche. Partout ce qui était recherché a été remplacé par la variable, qui est bien un champ reconnu comme tel par LibreOffice. Dommage d'en passer par là mais ça marche !
Merci à tous.