IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

extraire les données d'un fichier texte


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut extraire les données d'un fichier texte
    Bonjour, je voudrais récupérer les données d'un fichier texte séparé par des points virgules et attribué à chacune de ces données une variable. comment faire ?

    je sais qu'il faut utiliser la fonction mid (données si ; ) et len (de la chaine) mais je vois pas du tout comment on peut attriuber à une variable la/les données extraites.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Je sais que le sujet a largement été évoquer et qu'une petite recherche sur ce forum permet de trouver la solution.
    Pour preuve, voilà mon premier Script VB , conçut a l'aide d'un des outils (VBS Factory) proposé ICI et de recherche avec les mots: Split, OpenTextFile et MsgBox, mots qu'il faut connaître bien sûr (je programme en VB6 donc des mots en communs).
    J'utilise donc une variable tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
            Dim FSO, LeFichier
    	Dim CheminNomFichier, MeTbl, PourTbl, T
     
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    CheminNomFichier = "C:\PersoFrancis\FichierArray.txt"
    Set LeFichier = fso.OpenTextFile(CheminNomFichier,1)
    PourTbl = LeFichier.ReadAll
    LeFichier.Close
     
    'PourTbl contient: "un;deux;trois;quatres;cinqiéme et dernier;"
    	MeTbl = split(PourTbl,";")
    	for T = 0 to ubound(MeTbl)-1
    	 MsgBox "la variable MeTbl indice(" & T & ") contient: " & MeTbl(T)
    	next
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    J'ai aussi penser à faire un tableau pour séparer les données, mais le problème c'est que je veux à chacune de ces données leur mettre une variable propre.
    ..
    je sais pas si je suis très clair.

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    mais le problème c'est que je veux à chacune de ces données leur mettre une variable propre
    Ce qui sous entend que le nombre d’éléments dans ton fichier doit être connu et toujours égal.
    Si oui, pourquoi dans ton code, ne pas déclarer ces variables, et attribuer à chacune la variable tableau?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            Dim Var0, Var1, Var2, Var3, Var4
    ' .......................
    'PourTbl contient: "un;deux;trois;quatres;cinqiéme et dernier;"
    	MeTbl = split(PourTbl,";")
    	'for T =0 to ubound(MeTbl)-1
    	' MsgBox "la variable MeTbl indice(" & T & ") contient: " & MeTbl(T)
    	'next
    	var0 = MeTbl(0)
    	var1 = MeTbl(1)
    	var2 = MeTbl(2)
    	var3 = MeTbl(3)
    	var4 = MeTbl(4)
    	MsgBox "var0 contient: " & var0 & vbcrlf _
    	& "var1 contient: " & var1 & vbcrlf _
    	& "var2 contient: " & var2 & vbcrlf _
    	& "var3 contient: " & var3 & vbcrlf _
    	& "var4 contient: " & var4
    A moins que justement, par ta question, tu cherches à savoir si il est possible de créer des variables différentes par code.

    Moi en VB6 (que je métrise un peu) je ne saurai le faire que par une gymnastique qui serait des plus pénalisante pour la performance du code.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    c'est bien ça que je veux faire, mais je voudrais incrémenter les variables, exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    MonTableau = Split(Flignefichier,";")  
     
    Nom = MonTableau(0)
    Prenom = MonTableau(1) 
    login = MonTableau(2) 
    MotDePasse = MonTableau(3)
    Supprimer = MonTableau(4)
     
    Nom2 = MonTableau(5)
    Prenom2 = MonTableau(6)
    login2 = MonTableau(7) 
    MotDePasse2 = MonTableau(8)
    Supprimer2 = MonTableau(9)
    mais la faire en sorte qu'a la place du 2 je mette un i+1 pour éviter de mettre nom3, nom4 etc.. meme chose pour le nom du talbeau mettre un i+1 a la place.

    ...ça a l'air bien compliqué mon truc

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par klue_ Voir le message
    ...ça a l'air bien compliqué mon truc
    je confirme..

    pourquoi vouloir passer par des variables intermédiaires et ne pas utiliser directement les variables tableaux..

    autre chose, dans ton fichier texte tes enregistrements sont-'ils tous sur la même ligne ? où bien as tu une ligne par enregistrement...?

Discussions similaires

  1. extraire les données d'un fichier text vers une table access
    Par djatto dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/09/2008, 17h51
  2. Réponses: 2
    Dernier message: 22/06/2008, 15h41
  3. Pour extraire les données d'un fichier texte
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 02/05/2006, 15h01
  4. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37
  5. extraire certaines données d'un fichier texte
    Par davz88 dans le forum C++
    Réponses: 11
    Dernier message: 26/03/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo