|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Jérémy Étudiant Inscription : août 2011 Messages : 5 ![]() |
Bonjour à tous !
Alors voila, après m'être testé aux macros d'Excel, on me demande de bosser sur des macros Word et c'est compliquer d'apprendre tout en 1 jour ^^'. Je dois effectuer un rechercher/remplacer spécial. Dans plusieurs documents Word, j'ai des mots avec cette syntaxe : [[Blabla]], je dois les remplacer par disons http://Blabla Jusque là ça va, avec l'enregistreur ça passe tranquille : Code :
[[Blabla Blabla]] ou [[Bla Bla Bla]] Ces satanés espaces sont une vraie plaie, il faudrait que je les transforme en "_" pour avoir : http://Blabla_Blabla. Le truc c'est que le nombre de caractères dans les [[...]] est aléatoire comme le nombre d'espaces, et évidemment les espaces dans le reste du document ne doivent pas être remplacés :/ Je suis donc preneur si vous avez une idée, car la je sèche complètement ... Merci de votre aide, qui j'espère sera aussi rapide que la dernière fois =) Cordialement, Shinmey. |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 328 ![]() |
Salut,
une idée de départ pour l'enregistrement de ta macro : http://sepia.developpez.com/office/w...cherremplacer/
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Jérémy Étudiant Inscription : août 2011 Messages : 5 ![]() |
Bonjour Heureux-oli,
Merci pour ton lien, mais je l'avais déjà vu ^^ Le problème que je rencontre en fait, c'est que quand je mets par exemple dans ma fonction rechercher : [[* *]] pour trouver mes [[Bla Bla]] si je décoche "utiliser les caractères génériques" ben il ne me trouve pas d'étoiles donc recherche infructueuse, normal ... Et si je la coche j'ai droit à un "le texte recherché contient un plage qui n'est pas valide". Car comme j'ai des crochets ouverts il me cherche un plage de caractère du genre [a-f] sauf que mes crochets sont la pour reconnaître où faire mon remplacement. Donc je suis bloqué j'ai essayer donc sans les crochets au moins de départ, du genre remplacer [[ par http:// et ensuite * *]] par *_* mais pareil "le texte recherché ...". Et si je vire complètement les crochets, c'est stupide ça va me rechercher partout où j'ai des espaces pour les remplacer par des _ ... Du coup j'suis un peu coincé à cause de cette histoire de crochet, et j'arrive pas à voir comment faire ... Edit : "je me suis dis "hé pourquoi ne pas passer par une étape où je vire les crochets ?" Du coup en premier lieu je remplace mes doubles crochets [[ par ~~ et mes ]] par -- ( des symboles qu'on rencontre rarements comme ça ça ne risque pas d'apparaitre par hasard dans le doc ) comme ça je suis sur de ne pas avoir "le texte recherché contient un plage qui n'est pas valide". Mais du coup je rencontre d'autres problèmes. - Si je fais une recherche du genre ~~*--, cela va me trouver les trucs du genre ~~Bla-- et ~~Bla Bla-- sauf que comment je lui dis de remplacer les espaces par des _ ? - je si fais une recherche du genre ~~* *-- Il ne me trouve pas les trucs du genre ~~Bla--, à la limite pas trop grave j'peux faire ceux sans espaces séparément et facilement. - Le plus gros problème réside dans le fait que si je met ~~* *--, à remplacer par http://*_*, il va me trouver ~~Bla Bla-- mais va me remplacer par http://*_*, il ne garde le Bla Bla ... je patauge toujours ^^' |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Bonjour,
Une petite proposition qui devrait t'aider Le principe est de boucler tant que tous les espaces n'ont pas été supprimés et de les supprimer à chaque fois Ensuite, il ne reste plus qu'à remplacer la zone finale Code :
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut Shinmey,
Tu étais sur la bonne voie. Ton seul problème est que tu utilises des caractères spéciaux dans ton remplacement, ce qui n'est pas autorisé. Donc tu le fais en 2 fois, une fois avec les caractères génériques, et une fois sans. Par habitude, j'utilise "$$$" (car on ne ne trouve pas cette séquence dans un texte) donc je n'ai pas de problème de remplacer trop de choses). Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com