|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2006 Messages : 3 ![]() |
Bonjour,
Les documents sur lesquels je travaille sont très longs: plusieurs fichiers de 100aines de pages. Je dois efffectuer des corrections: par exemple, remplacer tous les "MU-RAILLES DE CHINE" par "Muraille de Chine". J'ai commencé à automatiser en utilisant toujours la même séquence ci-dessous: Code :
Serait-ce possible de lancer en boucle la séquence ci-dessus en allant chercher les valeurs textes dans un fichier excel: 1ère colonne les termes à rechercher, et 2ème colonne les termes à remplacer. Cette séquence serait à executer en boucle jusqu'à la fin du tableau excel ? Merci d'avance de vos avis |
||
|
|
00
|
|
|
#2 |
|
Inactif
Inscription : décembre 2005 Messages : 3 784 ![]() |
Tu peux bien évidemment le faire, en lisant tont fichier de texte ligne par ligne et en lançant ta boucle de remplacement juste après la lecture d'une ligne dans laquelle figureraient, séparés par un séparateur de ton choix, le texte à remplacer et le texte existant.
Pour savoir comment ouvrir et lire dans un fichier texte : une petite recherche sur ce forum... Tu peux également, surtout si le nombre de textes à modifier n'est pas démesuré, te servir d'un tableau à 2 dimensions, la 1ère colonne contenant le texte à remplacer et la 2ème celui de remplacement puis lire dans ce tableau, index par index, ces deux textes et lancer ta boucle après chaque lecture. Voilà 2 démarches possibles (il y en a d'autres) et parfaitement réalisables après avoir utilisé l'aide en ligne et fait une petite recherche sur ce forum. |
|
|
00
|
|
|
#3 |
![]() ![]() |
si ton fichier de texte et un fichier excel, inspire toi du code :
Code :
http://vb.developpez.com/faq/?page=Office#excel2flex |
|
00
|
|
|
#4 |
|
Invité(e)
Messages : n/a ![]() |
J'aimerais savoir avec un fichier Excel, teromah ou n'importe qui pouvant m'aider, comment utiliser en pratique la fonction de recherche indiqué dans le premier post. C'est à dire comment récupérer les résultats.
Ensuite comment puis je faire pour limiter les recherches dans une seule ligne? Finalement j'aimerais savoir si il y a moyen de récupérer la zone de nom (l'adresse de la cellule, ou les coordonnées appelez ceci comme vous voulez, les A1,A2 etc.) des cellules trouvées ou alors plus généralement des cellules ayant une valeur spécifique. Je suis débutant dans ce langage vb/asp.net donc je peine un peu sur ces sujets. Merci d'avance P.S.: Je sais que je ne poste pas dans la bonne section du forum, mais comme les résultats de mes recherches m'ont amené sur ce topic, je pensais que ce fut plus approprié de le poster ici. Modérateurs, n'hésitez pas à déplacer ce post si il le faut. |
00
|
|
|
#5 | |||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Regarde là, tu as une recherche en boucle dans Excel (à adapter pour Word en instanciant application, classeur et feuille de calcul)
Pour instancier les uns et les autres, Code :
Citation:
Code :
With Xlfl.Range("B:B") 'plage de recherche Tu vires le "msgbox laligne" que tu remplaces par Code :
C.value = Replace(c.value, LeMotFaux, LeMotVrai) A+ |
|||
|
|
00
|
|
|
#6 |
|
Invité(e)
Messages : n/a ![]() |
Merci pour ta réponse, je sens que ça va bien me servir.
J'en profite poser de petites questions après avoir adapté le code au mien (virer les Set sinon ça compile pas VS 2003 oblige, remplacer Variant par Object...) : Que dois je mettre dans xlValues? A quoi ça correspond exactement LookIn? J'ai cherché sur google mais je n'ai pas compris. Comment je récupère le résultat de la fonction RechercheEnBoucle? en sortant la variable NoLigne? comment puis je le faire? |
00
|
|
|
#7 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Désolé mais je ne connais pas VS 2003
Pour les paramètre de find Citation:
|
|
|
|
00
|
|
|
#8 |
|
Invité(e)
Messages : n/a ![]() |
Merci ouskel'n'or.
Juste une question encore: http://www.developpez.net/forums/sho...d.php?t=301105 Dans le code de ce lien, comment tu fais pour récupérer la variable NoLigne? C'est une procédure, ce n'est pas censé renvoyer un résultat, si? Dois je la transformer en fonction? |
00
|
|
|
#9 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Non, NoLigne est simplement la variable contenant le N° de ligne
Quant tu fais Citation:
Mais je ne suis pas sûr de comprendre ta question. Tu dis A+ |
|
|
|
00
|
|
|
#10 |
|
Invité(e)
Messages : n/a ![]() |
Merci encore ouskel'n'or je suis parvenu à mes fins.
|
00
|
|
|
#11 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Invité(e)
Messages : n/a ![]() |
Je suis pas le créateur du topic ...
|
00
|
|
|
#13 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ben pourquoi on t'a répondu alors ? Faut pas voler la discussion d'un autre
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com