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 valeur ligne fichier


Sujet :

VBScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 91
    Par défaut extraire valeur ligne fichier
    Bonjour à tous et à tous,


    J'ai un fichier .txt qui se présente avec pour chaque ligne des données séparés par un point virgule,je souhaiterai récupéré pour chaque ligne la 3 eme donné.


    toto;titi;papi;popo;allo
    papa;lolo;coco;jojo;momo
    bébé;pépé;mémé;pupu;bobo
    soso;sasa;susu;sousou;coca
    toto;titi;papi;il;ken,barbie
    je;tu;il;elle;vous;nous


    Donc ensuite en résultat je devrai obtenir :
    papi coco mémé susu papi elle


    Quelqu'un aurait une idée


    Merci par avance

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    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 127
    Par défaut
    Salut

    Ouvrir le fichier, lire chaque lignes en l'éclatant avec Split et récupérer l'information de l'indice 2 (vue que l'indice commence par zéro).
    :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 confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 91
    Par défaut suite réponse
    Re,

    Merci pour l'algo =)

    Voici ce que j'ai codé:

    Par conttre j'obtiens une erreur sur cette ligne wscript.echo TblColonne
    en m'indiquant incompatibilité de type.
    je ne comprends pas

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Dim FSO, LeFichier
    	Dim CheminNomFichier, PourTbl, TblLigne, TblColonne
            Dim T
            Dim Champs1
            Dim compteur 
            compteur = 1 
     
     
     
     
     
    'Pour accéder au fichier 
    Set fso = CreateObject("Scripting.FileSystemObject")
    CheminNomFichier = "c:\Dossier1\Dossier2\monFichier.txt"
    Set LeFichier = fso.OpenTextFile(CheminNomFichier,1)
    PourTbl = LeFichier.ReadAll
    LeFichier.Close
     
     
     
            'ajout d'un retour chariot à la derniere ligne pour le Splitage
                 PourTbl = PourTbl & vbclrf
    	TblLigne = Split(PourTbl,vbCrLf)
     
     
            'pour obtenir le nombre de ligne du fichier 
             T = Ubound(TblLigne)
     
            'dimensionne chaque variable
            redim Champs1(T)
     
     
             'Pour T = 0 jusqu'a la derniere ligne
            for T =0 to ubound(TblLigne)
     
             TblLigne(T) = TblLigne(T) & ";"
             TblColonne = Split(TblLigne(T) ,";",2)
     
     
              wscript.echo TblColonne
     
            next

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    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 127
    Par défaut
    Ligne 37, TblColonne devient une variable tableau, donc au minimum ligne 40 wscript.Echo TblColonne (N).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim SimuleLefichier, TblLignes, TblColonnes, Extraction, T
    SimuleLefichier = "toto;titi;papi;popo;allo" & vbCrlf _
    & "papa;lolo;coco;jojo;momo" & vbCrlf _
    & "bébé;pépé;mémé;pupu;bobo" & vbCrlf _
    & "soso;sasa;susu;sousou;coca" & vbCrlf _
    & "toto;titi;papi;il;ken,barbie" & vbCrlf _
    & "je;tu;il;elle;vous;nous"
     
    TblLignes = Split(SimuleLefichier,vbCrlf)
    For t = lbound(TblLignes) to ubound(TblLignes)
            TblColonnes = Split(TblLignes(t),";")
            Extraction = Extraction & TblColonnes(2) & Chr(32)
    Next
    MsgBox Extraction
    :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 confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 91
    Par défaut suite réponse
    Re,

    Effectivement,la solution proposé fonctionne ,mais si mon fichier fait 10 000 lignes,cela implique que je dois faire un copier coller de tout mon fichier ? et ajouté des VBCRLF a chaque ligne??


    MErci à toi

  6. #6
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,
    Le plus simple serait de lire le fichier ligne par ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set LeFichier = objFso.OpenTextFile(CheminNomFichier,1)
    Do Until LeFichier.AtEndOfStream
      strLine = LeFichier.ReadLine
      If Trim(strLine) <> "" Then strResult = strResult & Split(strLine , ";")(2) & " "
    Loop
    MsgBox strResult
    Bonne continuation.

Discussions similaires

  1. Extraire des lignes fichiers txt
    Par alkaz dans le forum C#
    Réponses: 4
    Dernier message: 27/05/2015, 12h01
  2. Afficher derniere valeur ligne fichier.txt
    Par debutVBA dans le forum VBScript
    Réponses: 3
    Dernier message: 20/12/2011, 18h45
  3. [XL-2007] Extraire des lignes en fonction d'une valeur de cellule dans un autre fichier
    Par MisterTambo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/08/2009, 10h42
  4. Extraire valeur dans fichier txt (avec balise html)
    Par Cirrus dans le forum Général VBA
    Réponses: 4
    Dernier message: 08/03/2009, 19h17
  5. Extraire des lignes precises d'un fichier
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 03/06/2004, 10h52

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