Macros dans Word

Signaler
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012
-
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012
-
Bonjour à tous,

J'ai besoin de faire une tâche répétitive dans word, j'ai appris qu'en faisant des macros (qui je crois sont en Visual Basic) on pouvait faire ça facilement... mais je n'y connais strictement rien alors j'aimerais savoir si qn pourrait m'aider. Je précise que j'ai Microsoft Office Word 2003 (et mon pc marche avec Vista).

La tâche est la suivante : il faut changer l'ordre de certaines lignes de texte qui commencent par le même texte, à l'intérieur de blocs (j'ai sauté une ligne entre les blocs pour la lisibilité). Par exemple:

\xv aaaaaaaa
\ph bbbbbbbbbbb
\xn cccccccccccc
\so ddddddddddddd

\xv aaaaaaaa
\ph bbbbbbbbbbb
\xn cccccccccccc
\so ddddddddddddd

\xv aaaaaaaa
\ph bbbbbbbbbbb
\xn cccccccccccc
\so ddddddddddddd


doit devenir :


\ph bbbbbbbbbbbb
\so dddddddddddd
\xv aaaaaaaaaaaaaa
\xn ccccccccccccc

\ph bbbbbbbbbbbb
\so dddddddddddd
\xv aaaaaaaaaaaaaa
\xn ccccccccccccc

\ph bbbbbbbbbbbb
\so dddddddddddd
\xv aaaaaaaaaaaaaa
\xn ccccccccccccc



Pouvez-vous me dire quel code VB il faut utiliser dans Word pour obtenir ce que je veux?
Merci beaucoup d'avance :-)

6 réponses

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
bonjour

Il faut utiliser l'enregistreur de macros le code sera tout fait et enregistrer ce qu'il y a à faire sur un série de 4 lignes
Outils/ Macro /créer

Selectionner la 2ème ligne et la remonter
Selectionner la 4 ème ligne et la remonter
Déscendre sur le bloc suivant
Arreter l'enregistrement de la macro

Attribuer une touche de raccourcis à la macro
Et lancer la macro par 3 appuis successifs sur la combinaison de touche associée à la macro
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012

Salut

Merci de ta réponse, mais j'ai déjà essayé et ça marche pas, apparemment le programme comprend pas que c'est les lignes qui commencent par \xv, \ph etc que je veux déplacer dans un ordre spécial. Quand je lance la macro il me déplace toutes les lignes sans se soucier des caractères par lesquels elle commence ...

Alors je sais pas comment faire...
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
si au lieu d'aller chercher la deuxième ligne c'est chercher le texte : c'est la même chose avec l'enregistreur de macro, faire

édition recherche
taper \xv dans le champ de recherche ,
lancer la recherche
revenir en début de la ligne xv,
sélectionner toute la ligne,
couper la ligne,
se déplacer au point d'insertion
coller

arrêter l'enregistrement
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012

Ok, merci. Mais avec ça, comment faire pour que la macro s'exécute dans tout le document, et que je sois pas obligé de retourner dans le menu macro et de lui dire de l'exécuter pour chaque occurrence de \xv etc ?

Merci d'avance
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012

Y a un autre truc : il ne faut déplacer les \xv etc que quand ils se trouvent dans un bloc avec les éléments suivants en début de ligne:

\xv
\ph
\xn
\so

Les \xv etc qui ne sont pas dans un bloc comme ça, il ne faut pas les déplacer...
Messages postés
8
Date d'inscription
mardi 27 avril 2010
Statut
Membre
Dernière intervention
27 mars 2012

Qn peut-il m'aider? Merciiiiiii