A voir également:
- écrire dans un fichier docx
- Comment ouvrir un fichier docx ? - Guide
- Fichier rar - Guide
- Fichier host - Guide
- Fichier DOC ou DOCX : c'est quoi, comment l'ouvrir - Guide
- Fichier iso - Guide
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
24 sept. 2020 à 09:36
bonjour,
peut-être plus simple en VBA.
peut-être plus simple en VBA.
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é.
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é.
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
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.
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.
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
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
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
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.
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.
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."
>> 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."
24 sept. 2020 à 18:22
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
24 sept. 2020 à 18:36
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.
24 sept. 2020 à 19:01
24 sept. 2020 à 19:13
merci
25 sept. 2020 à 12:09
prends un peu de temps et d'énergie pour décrire tout cela, ou pour tester le VBA dans Word.