Find dans tout les *.TXT

ThomasR

XLDnaute Occasionnel
Bonsoir le forum,

J'ai une question (lol), j'ai un USF (cela fait + d'un mois que je suis dessus mais il tourne bien grace à vous tous B) ) qui utilisre plusieurs base de donné en *.txt

pour manipuler ces donné je les import puis exporte (chaque fichier TXT = une feuille de mon dossier),

je cherche un moyen de faire des recherches par mots clef comme le font les divers demo de ce site.

la particularité de ma demande est que comme mes bases de donnés sont importante et donc longue à importer dans toutes les feuilles. J'aimerais savoir si il est possible de faire la recherche directement dans les fichier 'TXT' avec comme retour de la recherche le Nom du fichier texte (sans l'extention) ainsi que le numéro de la ligne.

D'avance merci pour votre aide
 

MichelXld

XLDnaute Barbatruc
bonjour Thomas , Jean-Marie et Hervé

Ci joint quelques infos complémentaires sur la macro ,
tu peux aussi utiliser l'aide en ligne Excel ( F1) pour avoir la signification des differents éléments



Code:
Sub test()
 Dim infosLigne As String
Dim i As Integer
Dim Fichier As String, Direction As String

'répertoire cible pour la recherche des fichiers
Direction = 'C:\\Documents and Settings\\michel\\excel'

'définit les types de fichiers à ouvrir
Fichier = Dir(Direction & '\\*.txt')

Do While Fichier <> '' 'pour boucler sur tous les fichiers txt du répertoire

'Open : ouverture du fichier texte
'Input : Pour ouvrir un fichier en lecture
Open Direction & '\\' & Fichier For Input As #1

Do While Not EOF(1) ' Vérifie si la fin du fichier est atteinte.
i = i + 1

'instruction Line Input #1: Lit la ligne dans la variable infosLigne
Line Input #1, infosLigne

'infosLigne est une variable (string) qui recupere les données
'de la ligne en cours de lecture
'dans cet exemple on verifie si la ligne contient la donnée saisie dans le TextBox1
If infosLigne Like '*' & TextBox1 & '*' Then

With Me.ListBox1
.ColumnCount = 2
.ColumnWidths = '80;80'
.AddItem Fichier '(en 1ere colonne)
.List(.ListCount - 1, 1) = i  'en 2eme colonne
End With
End If

Loop 'boucle dans le fichier txt

Close #1 'fermeture du fichier
i = 0
Fichier = Dir ' Extrait le nom de fichier suivant
Loop
End Sub


quelques exemples aussi sur cette page ,
https://www.excel-downloads.com/thr...oter-dautres-applications-depuis-excel.92359/
cliques une 2eme fois sur le lien , si un message d'erreur s'affiche


je n'ai pas retrouvé le lien mais il me semble qu'il y avait des explications tres completes données par @+Thierry , dans l'ancien forum
tu devrais trouver ton bonheur en faisant des recherches par mot clé


bon week end
MichelXld
 

ThomasR

XLDnaute Occasionnel
Bonjour MichelXld, Jean-Marie et Hervé


Merci MichelXLD pour le temps que tu m'as consacré s'est vraiment simpa.

je n'ai pas eu le temps de lire le lien mais je n'y manquerai pas.

Je vous souhaite à tous un bon week end.

et pour ce qui ont une famille pas trop de temps sur le PC (c'est ma femme qui me le rappel tout le temps :evil: ).

@+
Thomas®
 

Discussions similaires

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 195
dernier inscrit
Cheminotbelgiantrain