Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro suppression de lignes inutiles dans word

4 réponses
Avatar
Bonjour, j'ai un fichier word qui est compos=E9 de=20
nombreuses lignes inutiles pour moi, et je souhaite=20
uniquement r=E9cup=E9rer les informations d'une suite de 2=20
lignes adjacentes qui peuvent =EAtre rep=E9r=E9es simplement:=20
les premiers caract=E8res de la 2e ligne (hors espace) sont=20
toujours "Temps d'execution"
J'aimerais donc faire une macro de recherche automatique,=20
s=E9lection de la ligne utile et de la pr=E9c=E9dente, puis=20
suppression du reste du texte.=20

Exemple
- lignes utiles
"informations utiles"
Temps d'execution : ''temps traitement''

- Voici un bout du fichier (en gros j'ai une cinquantaine=20
de fois ce genre de choses dans le fichier)

debut de date.txt
Fin de : copy date.txt
### code retour =3D 0=20
=09
Fin de : date.pl=20
Temps d'execution : 0 h 0 m 2 s

Un grand merci d'avance

4 réponses

Avatar
AB
Bonjour,
Word ne connaissant pas vraiment la notion de ligne (sauf dans les
tableaux), ce que tu cherches à obtenir n'est pas simple (pour moi, en tout
cas).
2 questions :
1/ regarde à la fin de chaque "ligne" concernée s'il y a une marque de fin
de paragraphe, ou un saut de ligne manuel.
2/ la première ligne à supprimer commence-t-elle toujours par le même mot
("Fin de :") ?
AB

wrote:
| Bonjour, j'ai un fichier word qui est composé de
| nombreuses lignes inutiles pour moi, et je souhaite
| uniquement récupérer les informations d'une suite de 2
| lignes adjacentes qui peuvent être repérées simplement:
| les premiers caractères de la 2e ligne (hors espace) sont
| toujours "Temps d'execution"
| J'aimerais donc faire une macro de recherche automatique,
| sélection de la ligne utile et de la précédente, puis
| suppression du reste du texte.
|
| Exemple
| - lignes utiles
| "informations utiles"
| Temps d'execution : ''temps traitement''
|
| - Voici un bout du fichier (en gros j'ai une cinquantaine
| de fois ce genre de choses dans le fichier)
|
| debut de date.txt
| Fin de : copy date.txt
| ### code retour = 0
|
| Fin de : date.pl
| Temps d'execution : 0 h 0 m 2 s
|
| Un grand merci d'avance
Avatar
Bonjour,

Alors:
1) oui, il y a toujours une marque de fin: "_"
2) oui (par contre attention, d'autres lignes qui ne
m'intéressent pas commencent également par la même chaine
de caractères)


-----Message d'origine-----
Bonjour,
Word ne connaissant pas vraiment la notion de ligne (sauf
dans les

tableaux), ce que tu cherches à obtenir n'est pas simple
(pour moi, en tout

cas).
2 questions :
1/ regarde à la fin de chaque "ligne" concernée s'il y a
une marque de fin

de paragraphe, ou un saut de ligne manuel.
2/ la première ligne à supprimer commence-t-elle toujours
par le même mot

("Fin de :") ?
AB

wrote:
| Bonjour, j'ai un fichier word qui est composé de
| nombreuses lignes inutiles pour moi, et je souhaite
| uniquement récupérer les informations d'une suite de 2
| lignes adjacentes qui peuvent être repérées simplement:
| les premiers caractères de la 2e ligne (hors espace)
sont

| toujours "Temps d'execution"
| J'aimerais donc faire une macro de recherche
automatique,

| sélection de la ligne utile et de la précédente, puis
| suppression du reste du texte.
|
| Exemple
| - lignes utiles
| "informations utiles"
| Temps d'execution : ''temps traitement''
|
| - Voici un bout du fichier (en gros j'ai une
cinquantaine

| de fois ce genre de choses dans le fichier)
|
| debut de date.txt
| Fin de : copy date.txt
| ### code retour = 0
|
| Fin de : date.pl
| Temps d'execution : 0 h 0 m 2 s
|
| Un grand merci d'avance


.



Avatar
Re,
Cette marque de fin est pour le moins étrange. On parle
bien d'un document .doc ? La marque de fin de paragraphe
est : ¶
Je ne peux pas reproduire ici la marque de saut de ligne
manuel, mais tu peux la voir dans Word.
As-tu un de ces 2 symboles en fin des lignes concernées ?
AB

-----Message d'origine-----

Bonjour,

Alors:
1) oui, il y a toujours une marque de fin: "_"
2) oui (par contre attention, d'autres lignes qui ne
m'intéressent pas commencent également par la même
chaine

de caractères)


-----Message d'origine-----
Bonjour,
Word ne connaissant pas vraiment la notion de ligne
(sauf


dans les
tableaux), ce que tu cherches à obtenir n'est pas
simple


(pour moi, en tout
cas).
2 questions :
1/ regarde à la fin de chaque "ligne" concernée s'il y
a


une marque de fin
de paragraphe, ou un saut de ligne manuel.
2/ la première ligne à supprimer commence-t-elle
toujours


par le même mot
("Fin de :") ?
AB

wrote:
| Bonjour, j'ai un fichier word qui est composé de
| nombreuses lignes inutiles pour moi, et je souhaite
| uniquement récupérer les informations d'une suite de 2
| lignes adjacentes qui peuvent être repérées
simplement:


| les premiers caractères de la 2e ligne (hors espace)
sont

| toujours "Temps d'execution"
| J'aimerais donc faire une macro de recherche
automatique,

| sélection de la ligne utile et de la précédente, puis
| suppression du reste du texte.
|
| Exemple
| - lignes utiles
| "informations utiles"
| Temps d'execution : ''temps traitement''
|
| - Voici un bout du fichier (en gros j'ai une
cinquantaine

| de fois ce genre de choses dans le fichier)
|
| debut de date.txt
| Fin de : copy date.txt
| ### code retour = 0
|
| Fin de : date.pl
| Temps d'execution : 0 h 0 m 2 s
|
| Un grand merci d'avance


.

.





Avatar
Geo
Bonjour


Bonjour, j'ai un fichier word qui est composé de
nombreuses lignes inutiles pour moi, et je souhaite
uniquement récupérer les informations d'une suite de 2
lignes adjacentes qui peuvent être repérées simplement:
les premiers caractères de la 2e ligne (hors espace) sont
toujours "Temps d'execution"
J'aimerais donc faire une macro de recherche automatique,
sélection de la ligne utile et de la précédente, puis
suppression du reste du texte.
[...]


Il me semble qu'il faut faire le travail en deux temps :
remplacer 'le carcatère de fin de ligne' (cf la discussion avec AB)
suivi de "Temps d'exécution"
par "£Temps d'exécution", £ étant un caractère qui ne sert jamais dans
le fichier.
A la main on ferait Edition remplacer
^pTemps d'exécution
par
£Temps d'exécution

Ainsi on a le texte à conserver sur une seule ligne (en fait
paragraphe)
Après on fait une boucle qui teste si dans chaque paragraphe il y a
les caractères qui déterminent la conservation.
Une fois terminé on remplace tous les £ par de ^p
certes ça fait trois temps, mais le premier et le dernier sont si
petits qu'on peut n'en compter qu'un :-)
Attention à un truc c'est que on supprime des paragraphes,
donc un
for i = 1 to ActiveDocument.paragraphs.count
if ActiveDocument.paragraphs(i) contient les mots clés
' on garde
else
on efface ActiveDocument.paragraphs(i)
endif
next
va donner des résultats bizarres.
Il me semble qu'il est plus judicieux de faire la boucle à l'envers
mais je ne suis pas certain que ça règle tout.
Autre solution garder des paragraphes vides (donc bien garder la
marque de fin paragraphe)
et ensuite remplacer ^p^p par ^p tant que ça veut se faire.
Ce quatrième temps peut très bien se faire à la main, c'est plus
simple que de faire le code qui compte les remplacements.

--

A+