OVH Cloud OVH Cloud

Macro WORD

12 réponses
Avatar
Guillambert
Bonjour,



Je n'arrive pas à faire une macro qui ferait le process que je vous décris

J'ai un texte qui m'arrive d'une base de donné donc avec une balise en début
de paragraphe et il faut que recupère tous les paragraphes qui commencent
par PPP et que tous les autres soient enlevés.



A+ MERCI

10 réponses

1 2
Avatar
Anacoluthe
Bonjour !

'Guillambert' nous a écrit ...
Je n'arrive pas à faire une macro qui ferait le process que je vous
décris
J'ai un texte qui m'arrive d'une base de donné donc avec une balise
en début de paragraphe et il faut que recupère tous les paragraphes
qui commencent par PPP et que tous les autres soient enlevés.


Pourtant on peut faire ça sans macro !!!
(ça c'est pour faire plaisir aux AMIS *)

Si on admet que le dernier paragraphe est PPP (c'est plus simple)
on peut même tout faire en un seul RR (Rechercher-Remplacer)
- Utiliser les caractères génériques
- Rechercher: (*)(PPP)(*^013)
- Remplacer par: 3

Cette commande RR conserve seulement les paragraphes
qui commencent par PPP et au passage les PPP sont éliminés.

Anacoluthe
« On n'a besoin de personne pour être inutile. »
- Gilles PILOTE

* Club des "Anti Macros Inutiles et Superfétatoires"

Avatar
nuindacil
Bonjour Denis,

Je suis étonnée que tu n'aies pas trouvé la solution dans la faq, car il
y a une macro de Guy quelque peu similaire, à savoir un peu le contraire
: supprimer les paragraphes qui contiennent tel mot...

Bon, je l'ai modifiée pour ton cas, ce qui donne :

Sub ppp()

Dim Para As Paragraph, a
ActiveDocument.Bookmarks("StartOfDoc").Select
For Each Para In ActiveDocument.Paragraphs
Para.Range.Select
a = Left(Para.Range.Words(1), 3)
If a <> "PPP" Then Para.Range.Delete
Next Para
End Sub

J'ai utilisé Left au cas le PPP n'est pas suivi d'une espace.

Bonne journée,

nuindacil
mvp word
http://faq.ms.word.free.fr



Bonjour,



Je n'arrive pas à faire une macro qui ferait le process que je vous décris

J'ai un texte qui m'arrive d'une base de donné donc avec une balise en début
de paragraphe et il faut que recupère tous les paragraphes qui commencent
par PPP et que tous les autres soient enlevés.



A+ MERCI








Avatar
nuindacil
Hello anacoluthe !!

Renversement des rôles !!! MDR !!!... :-D

nuindacil


Bonjour !

'Guillambert' nous a écrit ...

Je n'arrive pas à faire une macro qui ferait le process que je vous
décris
J'ai un texte qui m'arrive d'une base de donné donc avec une balise
en début de paragraphe et il faut que recupère tous les paragraphes
qui commencent par PPP et que tous les autres soient enlevés.



Pourtant on peut faire ça sans macro !!!
(ça c'est pour faire plaisir aux AMIS *)

Si on admet que le dernier paragraphe est PPP (c'est plus simple)
on peut même tout faire en un seul RR (Rechercher-Remplacer)
- Utiliser les caractères génériques
- Rechercher: (*)(PPP)(*^013)
- Remplacer par: 3

Cette commande RR conserve seulement les paragraphes
qui commencent par PPP et au passage les PPP sont éliminés.

Anacoluthe
« On n'a besoin de personne pour être inutile. »
- Gilles PILOTE

* Club des "Anti Macros Inutiles et Superfétatoires"




Avatar
AB
Ca alors, c'est le monde à l'envers, en effet !! Et ça mérite au moins un
avertissement avant exclusion du club des A.M.I.S !!!
:))
AB


nuindacil wrote:
|| Bonjour Denis,
||
|| Je suis étonnée que tu n'aies pas trouvé la solution dans la faq,
|| car il
|| y a une macro de Guy quelque peu similaire, à savoir un peu le
|| contraire
||| supprimer les paragraphes qui contiennent tel mot...
||
|| Bon, je l'ai modifiée pour ton cas, ce qui donne :
||
|| Sub ppp()
||
|| Dim Para As Paragraph, a
|| ActiveDocument.Bookmarks("StartOfDoc").Select
|| For Each Para In ActiveDocument.Paragraphs
|| Para.Range.Select
|| a = Left(Para.Range.Words(1), 3)
|| If a <> "PPP" Then Para.Range.Delete
|| Next Para
|| End Sub
||
|| J'ai utilisé Left au cas le PPP n'est pas suivi d'une espace.
||
|| Bonne journée,
||
|| nuindacil
|| mvp word
|| http://faq.ms.word.free.fr
||
||
||
||| Bonjour,
|||
|||
|||
||| Je n'arrive pas à faire une macro qui ferait le process que je vous
||| décris
|||
||| J'ai un texte qui m'arrive d'une base de donné donc avec une balise
||| en début de paragraphe et il faut que recupère tous les
||| paragraphes qui commencent par PPP et que tous les autres soient
||| enlevés.
|||
|||
|||
||| A+ MERCI
Avatar
Anacoluthe
Hello Nuindacil !

'nuindacil' nous a écrit ...
Renversement des rôles !!! MDR !!!... :-D


:-D )))
Là tu vas perdre des points sur ton permis AMIS en 2004 !!!

Et (mon) comble de l'inutile, je pense que ta ligne
ActiveDocument.Bookmarks("StartOfDoc").Select
n'a pas d'utilité : pas besoin de modifier la sélection
si tu parcours tous les paragraphes du document !
hi hi hi
A+

Anacoluthe
« On n'a besoin de personne pour être inutile. »
- Gilles PILOTE

Avatar
nuindacil

Hello Nuindacil !

'nuindacil' nous a écrit ...

Renversement des rôles !!! MDR !!!... :-D



:-D )))
Là tu vas perdre des points sur ton permis AMIS en 2004 !!!

Et (mon) comble de l'inutile, je pense que ta ligne
ActiveDocument.Bookmarks("StartOfDoc").Select
n'a pas d'utilité : pas besoin de modifier la sélection
si tu parcours tous les paragraphes du document !


C'est vrai, mais j'ai une excuse : j'ai fait un copier-coller de la
macro de Guy!!! Y en a même une autre qui ne sert à rien :
Para.Range.Select !!!

Ben au moins, Denis aura le choix et si c'est un truc qu'il utilise
régulièrement, c'est peut être bien de l'avoir en macro, non ?..

Au fait, y a combien de points sur le permis AMIS ?....

nuindacil


Avatar
JièL Goubert
traitresse !!!

--
JièL très hi
;-)
Avatar
nuindacil
Bonjour André,


Ca alors, c'est le monde à l'envers, en effet !! Et ça mérite au moins un
avertissement avant exclusion du club des A.M.I.S !!!


Oui, mais ça c'est une manoeuvre fourbe pour pouvoir entrer au Club des
Amis...
Et pour être accepté, anacoluthe devra faire ses preuves : va falloir
qu'il modifie son RR au cas où le dernier paragraphe ne commence pas
par PPP !!! :-D

nuindacil

:))
AB


nuindacil wrote:
|| Bonjour Denis,
||
|| Je suis étonnée que tu n'aies pas trouvé la solution dans la faq,
|| car il
|| y a une macro de Guy quelque peu similaire, à savoir un peu le
|| contraire
||| supprimer les paragraphes qui contiennent tel mot...
||
|| Bon, je l'ai modifiée pour ton cas, ce qui donne :
||
|| Sub ppp()
||
|| Dim Para As Paragraph, a
|| ActiveDocument.Bookmarks("StartOfDoc").Select
|| For Each Para In ActiveDocument.Paragraphs
|| Para.Range.Select
|| a = Left(Para.Range.Words(1), 3)
|| If a <> "PPP" Then Para.Range.Delete
|| Next Para
|| End Sub
||
|| J'ai utilisé Left au cas le PPP n'est pas suivi d'une espace.
||
|| Bonne journée,
||
|| nuindacil
|| mvp word
|| http://faq.ms.word.free.fr
||
||
||
||| Bonjour,
|||
|||
|||
||| Je n'arrive pas à faire une macro qui ferait le process que je vous
||| décris
|||
||| J'ai un texte qui m'arrive d'une base de donné donc avec une balise
||| en début de paragraphe et il faut que recupère tous les
||| paragraphes qui commencent par PPP et que tous les autres soient
||| enlevés.
|||
|||
|||
||| A+ MERCI




Avatar
JièL Goubert
Bonjoir(c) Anacoluthe

Le 02/01/2004 14:16 vous nous disiez ceci :
Bonjour !

(ça c'est pour faire plaisir aux AMIS *)


Ouf, j'ai eu peur de m'y retrouver seul dans ce club ;-)

--
JièL Super Importun Membre Actif ;-)

Avatar
Sa.Cha.
Salut,
*JièL Goubert*, de ses doigts agiles, nous tapota ce qui suit :

| Ouf, j'ai eu peur de m'y retrouver seul dans ce club ;-)

Ça t'aurait permis de chanter avec Renaud :

« Je suis un club de jeunes à moi tout seul ! »


--
Bien amicalement,
Sa.Cha.
Nier l’existence d’un phénomène qui dérange s’apparente à une imitation de l’autruche mais n’a jamais fait disparaître le phénomène.
(richard lenoir).
1 2