Macro VBA Word 2007: suppression de marques d

Résolu/Fermé
Christdenoel Messages postés 377 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 21 juillet 2012 - 14 mars 2011 à 00:44
m@rina Messages postés 20065 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 16 mars 2011 à 09:15
Salut,

Je voudrais un petit script VBA pour supprimer les marques de paragraphes en fin de ligne précédées uniquement de toutes lettres minuscule non suivie d'un point (et/ou d'un espace) puis d'une lettre minuscule et les remplacer simplement par un espace. Il s'agit d'un document PDF que j'ai copié collé intégralement dans Word 2007, alors le renvoi à la ligne automatique est remplacé par des marques de paragraphe. Or j'ai plus de 80 pages de plus de 30 ligne à traiter. ^^

Voici la démarche:
-se rendre en fin de ligne
-vérifier si la lettre précédente EST une minuscule et N'EST PAS un point
-vérifier si la lettre suivante EST un minuscule
-si oui: remplacer par un espace
-si non: aller à la marque de paragraphe.

Sinon si vous avez un logiciel de conversion PDF à Word gratuit qui assure le renvoi à la ligne automatique sans marque de paragraphe (comme dans la saisie dans Word), n'hésitez pas à me le conseiller.

Merci d'avance à tous les membres qui prendront le temps de me répondre
A voir également:

6 réponses

m@rina Messages postés 20065 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 23 avril 2024 11 271
14 mars 2011 à 23:37
Bonjour,

J'ai corrigé la macro, il y avait des \ qui avaient sauté (mangés par mon dernier CMS !...).

Cela dit, je ne suis pas certaine que ça réponde à ta demande.
De plus la macro est pratique si on en fait souvent, sinon, un simple RR fait l'affaire. Sauf que ce RR en particulier est tellement compliqué qu'il est difficilement reproductible à la main ! :D

Dans ton cas, s'il s'agit réellement de marques de paragraphe (¶) ?
Et je ne comprends pas l'histoire de la minuscule avant... Ne faut-il pas simplement vérifier que ce n'est pas un point ?? ou simplement que ce n'est pas une minuscule après la marque de paragraphe ?

Sinon, pour mettre un raccourci à la macro :
- Bouton Office, Options Word
- Personnaliser
- tout en bas : Raccourcis clavier => Personnaliser
- Catégorie : macros
- Sélection de la macro et attribution du raccourci.

m@rina
3
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
14 mars 2011 à 07:36
1
m@rina Messages postés 20065 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 23 avril 2024 11 271
16 mars 2011 à 09:15
Bonjour,

C'est corrigé. Je n'avais pas vu qu'anacoluthe avait compliqué à souhait en séparant chaque item par un point-virgule, ce qui fait que le point virgule était pris en compte.
Cette macro en fait remplace tous les retours paragraphes par un espace sauf s'ils sont précédés par une double ponctuation.

Sinon, pour simplement remplacer tous les retours paragraphes après les caractères minuscules par un espace, voici un RR :

Recherche : ([a-z])(^13)
Remplace par : \1
(nb : le \1 est suivi d'un espace)

Et pour tout savoir sur les RR, c 'est ici :
https://faqword.com/index.php/word-tutoriels/toutes-versions/88-la-face-obscure-du-rr.html

m@rina
1
Christdenoel Messages postés 377 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 21 juillet 2012 104
14 mars 2011 à 20:26
Merci, c'est exactement ce que je recherchais. Cependant j'ai deux problèmes:
- deux messages d'erreur (55..) et une autre de compilation qui me demande un débogage.
- étant donné que j'enregistrais mes macros en passant par l'onglet développeur, je définissais d'abord un raccourci clavier avant d'enregistrer mes macros. Mais là, avec la macro par ton EXCELLENT LIEN, je colle le script, je peux l'exécuter mais je ne sais pas comment définir de raccourci clavier.
Voilà, si t'as d'autres choses... :) Encore merci!
0
Christdenoel Messages postés 377 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 21 juillet 2012 104
14 mars 2011 à 22:02
Merci je vais patienter!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
14 mars 2011 à 21:29
Bonsoir,

Je ne suis pas un pro de word, désolé.
Mais dans l'aide recherche 'personnaliser clavier' et tu trouveras ton bonheur pour affecter un raccourci clavier aux macros.
Pour le reste attend qcq'un de plus au fait des macros word...

eric
0
Christdenoel Messages postés 377 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 21 juillet 2012 104
15 mars 2011 à 00:57
Merci M@rina! ton nouveau script marche nickel! Merci aussi pour le raccourci clavier tout est OK ;)

Seulement deux défaut mineurs:
- tu devrais inclure aussi les virgules et les points-virgules
exemple:
cette décision a acquis l'autorité de la chose jugée,¶
l'inscription de l'hypothèque qui en résulte est requise

- ensuite, ne pas remplacer par un espace si la lettre qui suit la marque de paragraphe est une Majuscule
exemple:
Chapitre 1: conditions de forme et de fond¶
Article 1: conditions de forme...


Sinon à part ça tout est nickel. Encore merci, tu es vraiment une pro! n'hésite pas à m'envoyer par MP ou à poster des liens pour apprendre VBA facilement avec exemples et illustrations à l'appui.

Dis-moi, qu'est-ce que tu entends par: "De plus la macro est pratique si on en fait souvent, sinon, un simple RR fait l'affaire. Sauf que ce RR en particulier est tellement compliqué qu'il est difficilement reproductible à la main !" ?

Oui il s'agissait réellement de marque de paragraphe et pas d'autre chose... pour la minuscule avant, tu as raison, c'est superflu; par contre les virgules et la majuscule après...
En tout cas merci pour tout!
0