|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Bonjour,
je vous ecris car je n'ai pas trouve la reponse a ma question dans la FAQ. Je souhaite faire une macro word afin de formater un document .doc Celui est deja formate d'une maniere particuliere (titre en gras, 14 , arial ; nom de l'auteur en italique, 12, arial...) car il est genere par exportation depuis une base de donnees. Je voudrais donc recuperer chaque partie formatee d'une maniere particuliere et la formater directement. CEpendant, je n'ai pas trouve a quel objet appliquer Selection pour faire cela. Un exemple, j'ai 5 titres de films formates de la meme maniere : A la place du coeur ; L'argent fait le bonheur réalisé par et scénario de et adapté par Robert Guédiguian ; adapté de James Baldwin ; scénario de et adapté par Jean-Louis Milesi ; Arianne Ascaride et Alexandre Ogou et Laure Raoust et Jean-Pierre Darroussin et Jean-Jérôme Esposito , interprète. Agat films, 0199. Genre : DVDF. Je veux 1- selectionner tous les titres formates comme "A la place du coeur ; L'argent fait le bonheur " 2- Formater cette selection en Noir, gras italique 3- Pour cette selection apres le point virgule je veux mettre un espace et supprimer le point virgule Mon probleme se pose sur , comment faire la selection de la ligne avec un formatage particulier donc (mon petit 1) Merci beaucoup d'avance Bonne journée |
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() |
voici un bout de code qui devrait te permettrai d'avance
Code :
ceci est un exemple de code non testé à toi de jouer
__________________
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
MErci beaucoup,
j'etudie ca |
|
|
00
|
|
|
#4 | |||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Rebonjour,
je me remets dans mes macros, et apprends sur le tas les objets selection etc. J'essaye toujours d'utiliser Visual Basic sous word avec mon probleme du 1er post J'ai essayé la bout de code plus haut, proposé par Tazamorte, mais j'ai une erreur pour Visual BAsic me renvoit Citation:
J'ai donc essayé de trouver des choses sur l'objet 'aWord' mais ma recherche n'a pas été fructueuse. Mon problème c'est donc de sélectioner mot par mot ma selection (Range), pour regarder quelle police est utilisée et l'ajouter à ma sélection si c'est du Arial. J'ai essayé une autre technique (avec une boulcle) mais je ne sais pas comment selectionner un seul mot. J'ai pensé à un truc du genre (inspiré de ce qui est mis plus haut), mais qui est faux à cause de ce que je ne sais pas faire: Code :
bonne journée |
|||
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : février 2007 Messages : 71 ![]() |
voilà pour parcourir le document mot par mot
Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
J'ai bien utilisé tout ce que vous m'avez donné, maintenant mon code ressemble à ca :
Code :
Tout d'abord ligne 9 et 10 Code :
Et ensuite mon code marche sur un petit fichier doc (de 1 ou 2 page) mais quand j'ai un gros fichier (genre un fichier trop grand, de 20 pages). Pour ce problème, je suppose que c'est la méthode mot par mot qui est trop longue, et je ne sais pas s'il y a une solution simple. Merci encore d'avance de votre aide, a bientot |
||||
|
|
00
|
|
|
#7 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Essaie en ajoutant
Code :
A+ Edit Je viens de regarder, tu dois ajouter Unit:=1 Code :
Selection.MoveEnd Unit:=wdLine, Count:=1 |
||
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Merci, ouskel'n'ord,
jai essayé de rajouter ta ligne 22bis, et ce que tu m'avais donné en ligne 10; ce qui donne : Code :
Ma boucle n'est plus infinie ( ce qui est plutot une bonne nouvelle et m'a grandement réjouit), mais ca ne fait pas ce que je veux ( à savoir supprimer "/" et à la place passer une ligne), Je crois qu'actuellement ca passe juste la ligne à la fin du paragrahe, et ca n'efface pas le slashe. Après je dois dire que j'ai de fort doutes sur la justesse de mon qui exprime "si l'bjet sélectionné est egale au caractere "slashe+espace" En tous cas merci encore, je galère plutot Bonne journée +++ |
||
|
|
00
|
|
|
#9 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ok, je n'avais pas tout relu, simplement ton problème de boucle infinie.
Ce que tu dois faire, c'est sélectionner ce foutu "/" et écrire "" Code :
Là je n'ai pas le temps de tout relire et te mettre le code complet mais si tu as une dificulté, il y aura bien quelqu'un pour t'aider. Sinon, je reviens A+ |
||
|
|
00
|
|
|
#10 | ||||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Bon, merci, je suis désolé j'ai l'impression de trébucher à chaque pas. Mon problème aussi c'est que je n'ai pas trouvé de bibliothèque correcte pour les mots (mon aide vb ne marche pas) et du coup j'arrive pas à avoir les propriétés des mots clefs, notament de vbCr ou TypePAragraph.
Du coup quand je fais ce que tu me dis Code :
Et par contre Code :
je me retrouve encore avec ma boucle infine. Et pourtant j'ai bien mis Selection.ExtendMode = False à la fin (ligne 22 bis) Bon, j'ai encore l'impression de me galérer. Merci en tous cas pour toute aide et les aides deja données. Bonne journée |
||||
|
|
00
|
|
|
#11 | ||||
|
Membre du Club
![]() Inscription : février 2007 Messages : 71 ![]() |
Est ce que, en debug, tu passes bien dans la condition ?
Code :
Ensuite, es-tu sur que ça marche le Code :
|
||||
|
|
00
|
|
|
#12 | ||||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Salut Speedrman,
merci de m'aider je te mets mon code en entier (que j'ai un peu nettoyé) Code :
Mes changements de formattage marchent (donc mes selections aussi et mes Case Black, que j'ai changé plus proprement en Case wdColorBlack - ma variable que je teste c'est Selection.Font.Color) et si je ne mets pas mon Code :
Foilà, bonne journée à vous |
||||
|
|
00
|
|
|
#13 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Je viens de remarquer un "truc" : Quand tu mets
Citation:
Citation:
Ensuite ? Ben je sais pas Je t'envoie déjà ça... |
||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
Bonjour,
merci pour la réponse. En fait j'ai fait plus simple avec un script que j'ai trouvé. Au lieu de passer mot par mot, je passe tout le texte directement Code :
bonne journee |
||
|
|
00
|
|
|
#15 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ça, c'est le problème de "Bien exposer son problème"
Tu aurais mis : Citation:
C'est donc Résolu ? Un petit clic sur et on considérera le pb comme résolu
|
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : avril 2007 Messages : 11 ![]() |
oui, merci beaucoup pour l'aide en tous cas.
Heu, j'ai pas trouvé le bouton résolu, je sais pas si c'est la journée qui est dure Bonne journée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com