Recherche dans un fichier txt d'une chaine de caractère

  • Initiateur de la discussion Creepy
  • Date de début
C

Creepy

Guest
Bonjour à tous,

J'ai des fichiers spécifiques, mais qui s'ouvrent. J'ai alors des données sous le bloc note de ce genre :
[|[{`|[` ^$ù[{[ Tb de bord : 100% dede `|@^\`|\#~$*ù*^

Dans ces fichiers je voudrais recuperer toutes les chaines de caractères commencant par "Tb de bord" et finissant pas 5 espaces(Cf mon exmple ci dessus.

Je voudrais les afficher dans les cellules excel les unes après les autres.

Mon problèmes est que je ne sais pas comment rechercher dans le fichier texte toutes occurences les commencant par "TB de bord" & finissant par 5 espaces.

Pour le reste je saurais me debrouiller. avec le do until eof, etc... C'est juste la fonction recherche.

++

Merci d'avvance

Creepy
 
J

Jean-Marie

Guest
Bonjour Creepy

Tu pourras enregistrer la manip pour te faire une macro

1) Tu affiches les filtres automatiques
2) Tu cliques sur la petites flèches qui contient la donnée et tu recliques sur "personnalisé"
3) dans la boîte de dialogue, tu sélectionne "comme par", tu tapes : Tb de bord
4) clique sur le bouton radio et
5) En dessous de ce bouton radio "ET", tu cliques "terminer par" et tu tapes les 5 espaces.
6) tu valides
7) tu sélectionnes les lignes, et un copier coller te permettront de les mettre dans un autres endroits.

@+Jean-Marie
 
C

Creepy

Guest
Re all,

J'ai du mal m'exprimé en faites je ne veux pas ouvrir le fichier sous excel mais faire une recherche directement dans le fichier TXT.

Je ne veux afficher sous Excel QUE les resultats.

Ce qui me faudrait c''est la methode de recherche dans un fichier texte.
Je commence par ouvrir le fichier avec

Open Charger For Input As #1
Line Input #1, Textline

et je vais faire un DO while EOF.

Merci d'avance

Creepy
 
M

michel

Guest
bonjour Creepy , bonjour Jean-Marie

tu peux essayer

Sub modifierFichierTexteV02()
Dim InfosLigne As String

Open "C:\Mes documents\xl\FichierTexte.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, InfosLigne
If Left(InfosLigne, 10) = "Tb de bord" And Right(InfosLigne, 5) = " " _
Then MsgBox InfosLigne
Loop
Close #1

End Sub


bon apres midi
MichelXld
 
M

michel

Guest
rebonjour

dans la ligne Right(InfosLigne, 5) = " " , il faut bien entendu insérer 5 espaces entre les guillemets""
( ce n'est pas passé lors du copier/coller dans le Post)

…et en plus je viens de m'apercevoir que le nom de la macro n'est pas vraiment adapté à l'opération effectuée…;o)



bon apres midi
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 777
Messages
2 092 032
Membres
105 159
dernier inscrit
frontera930