|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 118 ![]() |
Bonjour à tous,
Je cherche depuis quelques temps à faire une UserForm Word qui me permettrait de chercher un ou des mot(s) dans plusieurs fichiers texte se trouvant tous dans le même dossier. J'ai déjà une UserForm qui me permet de faire une recherche similaire dans une table Access avec le code suivant (où "TextBox1" sert à entrer le mot rechercher et "Liste1" à afficher toutes les entrées correspondantes) Code :
1. comment indiquer qu'il doit parcourir TOUS les fichiers qui se trouvent dans le dossier spécifié (qui est d'ailleurs toujours le même) 2. comment afficher les lignes trouvées dans ma liste1 (chaque ligne est composé de plusieurs champs séparés par des tabulations mais je suppose qu'il faut ici faire référence à la ligne entière ??!) Est-ce possible à partir du code ci-dessus et comment ? Merci beaucoup par avance pour votre aide. Guillaume |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Pour parcourir les fichiers d'un répertoire, jette une oeil ici
Pour la recherche d'un mot, il faut ouvrir le fichier, et faire la recherche dans le fichier. Pour chaque document trouvé dans le répertoire, Ensuite, faire un Find dans le contenu du document.
__________________
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 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 118 ![]() |
Salut Oli !
Si je comprends bien, il n'y a pas de solution pour faire apparaître directement les résultats dans la liste de la UserForm, c'est-à-dire sans avoir à ouvrir chacun des fichiers ? Pourtant, j'ai un programme de TAO qui n'est en fait "que" un ensemble de plusieurs macros et qui a un bouton permettant de chercher un mot dans tous les fichiers txt du dossier spécifié. Chaque ligne contenant le mot recherché dans les fichiers est ensuite affichée dans un nouveau document Word. Moi, j'aimerais un truc un peu comme ça mais bon là, la marcro est verrouillée bien entendu et je ne peux pas voir ce qu'il se cache derrière... ![]() Sinon, je pensais utiliser des fichiers excel à la place des fichiers txt. Même principe que tout à l'heure, tous les fichiers dans le même dossier et on lance une recherche à partir de l'UserForm. Est-ce que là, il serait possible d'afficher tous les résultats dans la liste comme on le fait à partir d'une table Access (avec DAO par exemple) ??? Merci beaucoup. Guillaume |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Cette macro ouvre les fichier, mais sans le montrer, si tu affectes la propriété Visible à False, tu n'auras pas l'affichage.
__________________
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
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 118 ![]() |
Merci Oli !
J'ai regardé le lien que tu m'as donné mais apparemment le code en question recherche simplement dans le nom du fichier, moi je voudrais chercher dans le contenu. Et puis je ne sais pas comment on désigne une ligne du fichier texte pour la renvoyer vers la listbox. Est-ce que tu sais si avec des fichiers excel, ce serait plus facile à mettre en oeuvre (on peut désigner des fichiers et des colonnes en DAO, non ??) Merci pour ton aide ! Guillaume |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Le premier lien, c'est pour chercher le nom des fichiers.
Dès que tu as la liste des fichiers, avec une boucle, au départ de word, tu ouvres chaque fichier, tu fais la recherche et tu obtiens un index mots -- fichiers.
__________________
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
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 118 ![]() |
Salut !
Dans mon cas, ca ne m'avance pas vraiment de chercher le nom des fichiers parce que le code proposé cherche dans les noms de fichiers mais pas dans leur contenu. Je m'explique : ces fichiers txt sont des listes de mots avec leur traduction, genre une colonne allemand, une colonne français avec des précisions si nécessaire. Si par exemple, je recherche le mot "pêche", je voudrais tout d'abord que le code détermine tous les fichiers dans lequel le mot "pêche" apparaît (car il y a beaucoup de fichiers, plus de 500 !!) et qu'ensuite il ouvre chacun des fichiers où le mot apparaît, recherche la ligne ou les lignes en question et me l'affiche dans la listbox, si bien qu'à la fin j'ai tous les mots "pêche" trouvés avec les traductions correspondantes. J'espère que je suis à peu près clair.... Je voulais garder ces fichiers au format Txt pour la simplicité de formatage qui permet d'importer les données dans d'autres programmes si besoin est. Cependant, là je me dis que peut-être ma recherche serait plus performante avec des fichiers excel ayant toujours les mêmes colonnes si bien que je pourrais préciser lors de la recherche dans quelle colonne chercher (français ou allemand ou autre) et la recherche serait donc plus rapide non ??? C'est possible, ca ??? Merci et encore merci. Guillaume |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Pour la gestion de données, Access est plus approprié.
Ce que j'avais expliqué, tu dois récupérer le nom des fichiers. L'exemple dans les sources sert à ça. Une fois le nom des fichiers obtenu, il faut ouvrir chaque fichier pour trouver le mot que tu cherches. Cette recherche, tu peux la faire ne Word, ou simplement en VBS. Tu vas alors obtenir une liste de fichiers avec ton mot.
__________________
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
|
Copyright © 2000-2012 - www.developpez.com