écrire dans un fichier docx

Fermé
titibidouille - 23 sept. 2020 à 22:39
 titibidouille - 25 sept. 2020 à 21:22
Bonjour,

je souhaite remplacer des paragraphes entiers dans Word, en gardant la mise en forme, autrement qu'en faisant des copier/coller à partir d'un autre fichier ou en utilisant la fonction rechercher/remplacer. Est-ce possible avec PHP ou autre langage de programmation ?

merci

Configuration: Windows / Firefox 80.0
A voir également:

4 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
24 sept. 2020 à 09:36
bonjour,
peut-être plus simple en VBA.
0
titibidouille
24 sept. 2020 à 18:22
bonjour,
merci pour cette piste. En VBA c'est-à-dire une macro dans le fichier docx ? parce que je ne veux pas laisser de macro dedans, est-ce que c'est possible de le faire à partir d'un autre fichier sans modifier autre chose que le contenu tapé de mon fichier à travailler ?
merci
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > titibidouille
24 sept. 2020 à 18:36
je pense que oui, le VBA dans un fichier (même un fichier autre que Word) peut ouvrir et travailler un autre fichier Word.
le plus simple, je pense, serait d'automatiser l'utilisation du rechercher/remplacer.
ce qui ne signifie pas que cela permet de faire ce que tu veux.
VBA est fréquemment utilisé avec Excel et Access, il est moins utilisé avec Word, et est moins bien intégré avec Word.
tu trouveras donc probablement moins d'aide dans ce domaine.
0
titibidouille > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
24 sept. 2020 à 19:01
d'accord merci je vais explorer cette piste. je pense que c'est possible aussi avec python mais je ne le connais pas
0
titibidouille > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
24 sept. 2020 à 19:13
avant que je me lance dans vba que je ne connais pas, c'est bien rechercher remplacer que je veux faire, mais le problème c'est que je ne peux pas rentrer manuellement des paragraphes entiers dans "rechercher/replacer", ce sera possible dans vba ?
merci
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > titibidouille
25 sept. 2020 à 12:09
tu n'expliques ni ce que tu connais, ni précisément ce que tu veux réaliser.
prends un peu de temps et d'énergie pour décrire tout cela, ou pour tester le VBA dans Word.
0
titibidouille
25 sept. 2020 à 12:52
j'ai posté dans php parce que j'en ai fait un peu dans le temps.
j'ai précisé que je ne connaissais pas VBA.
ce que je veux faire, je ne vois pas comment le détailler plus que ça?
je reprends :
j'ai un fichier docx contenant beaucoup de texte, dont un paragraphe A que je veux remplacer par un paragraphe B. Je veux automatiser cette tâche en manipulant le fichier avec php par exemple, ou toute autre méthode simple, et enregistrer le résultat toujours au format docx.
je ne veux pas qu'il y ait des macros dans mon fichier docx une fois le contenu modifié.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
25 sept. 2020 à 13:10
tu ne connais pas non plus Python?
quand tu écris "paragraphe A que je veux remplacer par un paragraphe B", c'est sans doute clair dans ta tête. cependant les pensées ne se transmettent pas bien via le forum.
comment découvrir ce paragraphe A? par sa position, son formatage, son contenu? que faut-il changer pour le transformer en paragraphe B?

en fait, veux-tu dire que tu obtiens le résultat attendu en faisant des copier/coller à partir d'un autre fichier et en utilisant la fonction rechercher/remplacer? et que tu souhaites automatiser cela?
si oui, je suggère que, dans Word, tu enregistres une macro pendant que tu fais cela à la main.
le code de cette macro te servira de base à l'automatisation.

si tu as un "autre" fichier qui te sert de base pour ces copier/coller, peut-être pourrais-tu en décrire le contenu, cela ne peut qu'aider.
sois explicite et factuel, donne peut-être des exemples, explique-toi.
0
titibidouille
25 sept. 2020 à 13:25
je ne connais pas non plus python mais je suis en train de faire des recherches dessus.
si je pouvais lire et écrire le contenu avec php, j'utiliserais str_replace. Si mon fichier était un .txt et non un .docx, je saurais le faire.

le paragraphe A s'identifie par son contenu, il peut se trouver n'importe où dans le texte. Ce serait par exemple "bonjour monsieur" en gras. sauf qu'il fait une dizaine de lignes. je voudrais le remplacer disons par "au revoir madame" qui ferait une dizaine de lignes aussi, voir plusieurs paragraphes.

j'effectue ces remplacements manuellement en copier/coller à partir d'un autre fichier que j'ai écrit avec les nouveaux paragraphes. C'est cette manipulation que je voudrais automatiser.

par rapport à vba, je me demande s'il est possible de créer un fichier séparé pour agir avec une macro sur le ou les fichiers à travailler, de façon à ne pas avoir de macro dans le fichier travaillé. la macro que j'enregistrerais, est-ce qu'elle mémorisera l'ouverture fermeture du fichier "source" de mes nouveaux paragraphes et les copier/coller, à différents endroits du fichier de destination ?

j'espère que j'ai pu mieux expliquer. merci
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
25 sept. 2020 à 19:40
tu poses une question à laquelle j'ai déjà répondu.

eh bien, au lieu du str_replace en php tu va utiliser le rechercher/remplacer de Word en VBA.
la macro enregistrée automatiquement te permettra de comprendre comment programmer ce rechercher/remplacer. le reste des opérations sera à programmer en VBA, comme tu devrais les programmer en php.

as-tu testé l'utilisation manuelle de Word en faisant des rechercher/remplacer?

tu poses de bonnes questions. si tu veux avoir une réponse, je pense utile que tu fasses la liste des opérations manuelles que tu effectuerais en partant du fichier source.
dans quel ordre ferais-tu quoi?
ton fichier source, c'est quoi, que contient-il? pourquoi n'en partages-tu pas un exemple?
tu pourrais aussi partager un exemple de fichier Word avant et après transformation.
tout cela serait factuel.
0
titibidouille
25 sept. 2020 à 21:22
tu poses une question à laquelle j'ai déjà répondu.
>> je reformule parce que tu m'as demandé de préciser.

as-tu testé l'utilisation manuelle de Word en faisant des rechercher/remplacer?
>> oui mais le formulaire rechercher/remplacer a une longueur de chaîne limitée (je n'ai pas compté combien de caractères). c'est utile pour les petites expressions comme remplacer "maison rouge" par "voiture verte". je m'en sers aussi.

liste des opérations manuelles que tu effectuerais en partant du fichier source:
>> (sélectionner du texte - un ou plusieurs paragraphes-, copier le texte, ouvrir le fichier destination, coller le texte) plusieurs fois puis enregistrer le fichier destination.

ton fichier source, c'est quoi, que contient-il?
>> du texte au format word, avec éventuellement du gras de l'italique, rien de plus.

exemple : remplacer texte A par texte B avec :


texte A ="tu poses une question à laquelle j'ai déjà répondu.

eh bien, au lieu du str_replace en php tu va utiliser le rechercher/remplacer de Word en VBA.
la macro enregistrée automatiquement te permettra de comprendre comment programmer ce rechercher/remplacer. le reste des opérations sera à programmer en VBA, comme tu devrais les programmer en php."


texte B ="tu poses de bonnes questions. si tu veux avoir une réponse, je pense utile que tu fasses la liste des opérations manuelles que tu effectuerais en partant du fichier source.
dans quel ordre ferais-tu quoi?
ton fichier source, c'est quoi, que contient-il? pourquoi n'en partages-tu pas un exemple?
tu pourrais aussi partager un exemple de fichier Word avant et après transformation.
tout cela serait factuel."
0