Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 12h24   #1
b.gaumard
Membre du Club
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2012
Messages : 153
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Finance

Informations forums :
Inscription : juillet 2012
Messages : 153
Points : 49
Points : 49
Par défaut Afficher la dernière occurence recherchée dans un fichier texte

Bonjour,

J'ai un fichier texte dnas lequel le mot TOTO apparait sur plusieurs lignes.

TOTO;INFO1
TITI;INFO2
TOTO;INFO3
TATA;INFO4
TETE;INFO5
TOTO;INFO6
TATI;INFO7


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Recherche = "TOTO"
 
Do While FichierParcourir.AtEndOfStream <> True
 Ligne = FichierParcourir.ReadLine
 
 If instr(Ligne,Recherche) Then
 
  wscript.echo Ligne
 
 End If
 
 
Loop
Ce qui me donne :

TOTO;INFO1
TOTO;INFO3
TOTO;INFO6

Je souhaiterais afficher la dernière occurence (3eme) : TOTO;INFO6 mais je n'y arrive pas.

J'ai essayé de mettre ca dans un tableau mais ca ne fonctionne pas :

Code :
1
2
MonTableautest = Split(Ligne,vbnewline)					
wscript.echo MonTableautest(3)
Avez vous une idée svp, merci.
b.gaumard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 12h40   #2
ProgElecT
Rédacteur/Modérateur
 
Avatar de ProgElecT
 
Homme Francis MILLET
Inscription : décembre 2004
Messages : 3 199
Détails du profil
Informations personnelles :
Nom : Homme Francis MILLET
Âge : 57
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2004
Messages : 3 199
Points : 5 108
Points : 5 108
Envoyer un message via MSN à ProgElecT
Salut
Code :
wscript.echo MonTableautest(Ubound(MonTableautest))
ProgElecT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 12h49   #3
b.gaumard
Membre du Club
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2012
Messages : 153
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Finance

Informations forums :
Inscription : juillet 2012
Messages : 153
Points : 49
Points : 49
Ca ne Fonctionne pas

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Recherche = "TOTO"
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set FichierParcourir = objFSO.OpenTextFile("c:\test.txt") 
 
Do While FichierParcourir.AtEndOfStream <> True
 Ligne = FichierParcourir.ReadLine
 
	 If instr(Ligne,Recherche) Then
       'wscript.echo Ligne
		MonTableautest = Split(Ligne, vbnewline)
		wscript.echo MonTableautest(Ubound(MonTableautest))	
	 end If
 
Loop
ca maffiche :

TOTO
TOTO
TOTO

et non pas que le dernier ....

C'est un truc à la c#### mais je ne vois pas ...
b.gaumard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 13h14   #4
ProgElecT
Rédacteur/Modérateur
 
Avatar de ProgElecT
 
Homme Francis MILLET
Inscription : décembre 2004
Messages : 3 199
Détails du profil
Informations personnelles :
Nom : Homme Francis MILLET
Âge : 57
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2004
Messages : 3 199
Points : 5 108
Points : 5 108
Envoyer un message via MSN à ProgElecT
J'ai cà qui traine sur mon DD
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Const ForReading = 1
Dim oFso, f
Dim ContenuLgn
Set oFso = CreateObject("Scripting.FileSystemObject")
 
'Ouverture et lecture du fichier
	Set f = oFso.OpenTextFile("C:\test.txt", ForReading)
        'recuperation d'un tableau de x lignes
        ContenuLgn = split(f.ReadAll,vbnewline)
        f.close
        set f = nothing
        'lecture en commencant par la derniere ligne
        for f = ubound(ContenuLgn) to Lbound(ContenuLgn)  Step -1
                msgbox ContenuLgn(f)
        next
A toi de filtrer pour que ContenuLgn(f) ai le mot TOTO.
ProgElecT est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/01/2013, 14h15   #5
b.gaumard
Membre du Club
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2012
Messages : 153
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Finance

Informations forums :
Inscription : juillet 2012
Messages : 153
Points : 49
Points : 49
merci pour l'info. Effectivement ave cun ReadAll ca fonctionne.

Mais je voudrais voir comment faire avec un ReadLine.

Je vais essayer de stocker ca dans un tableau ou un dico. merci.
b.gaumard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 17h56   #6
l_autodidacte
Modérateur
 
Avatar de l_autodidacte
 
Homme Moncef
Directeur de lycée
Inscription : juillet 2009
Messages : 1 214
Détails du profil
Informations personnelles :
Nom : Homme Moncef
Âge : 57
Localisation : Tunisie

Informations professionnelles :
Activité : Directeur de lycée
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 214
Points : 2 233
Points : 2 233
Envoyer un message via Skype™ à l_autodidacte
Citation:
Je vais essayer de stocker ca dans un tableau ou un dico. merci.
Dans le code proposé par ProgElecT, ContenuLgn est déjà un tableau.
__________________
A cœur vaillant rien d'impossible
l_autodidacte est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h45.


 
 
 
 
Partenaires

Hébergement Web