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

VB 6 et antérieur Discussion :

Boucle qui parcourt tout les ligne d'un fichier text


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut Boucle qui parcourt tout les ligne d'un fichier text
    Bonjour a tous,
    j'ai besoin de creer une Boucle pour parcourir tous les ligne de la liste de mon fichier text, j'arrive a boucler sur toute une ligne mais pas sur tout les ligne!! voila mon code si pouvez m'aider,
    merci.


    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
     
    Dim Ligne As String
    Dim Fichier As String
    Dim New As Integer
    Dim Last As Integer
    Dim oResult As Object
    Dim i As Integer
    Dim st As String
    Dim N As Integer
     
    Fichier = "C:\Dossier\fichier1.txt"
     
    Open Fichier For Input As #1
        ' Boucle sur les lignes du fichier
        Do While Not EOF(1)
            Line Input #1, Ligne
            'MsgBox Ligne
    ' N = Count 'Ligne(Count) ' c'est la que j'essaye de boucler sur tte les ligne !!
            Last = 0
            Set oResult = New Collection
            For i = 1 To Len(Ligne)
                New = InStr(Last + 1, Ligne, ";")
                If New = 0 Then
                    Exit For
                Else
                    st = Mid(Ligne, Last + 1, New - Last - 1)
                    oResult.Add st, CStr(i) ' "ATT1" + "ATT2"
                    Last = New
                End If
            Next
        Loop
    Close #1
     
    End Sub

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    tout de suite ta variable New as integer, pas bon sa, ce mot est reserver par VB, je suis étonné que tu n'ai pas un message d'erreur, je n'ai jamais essayé, mais assurement, il vaut mieux ne pas utiliser de noms de variables parmis les mots reservés de VB.

    motif de l'edition
    Set oResult = New Collection
    VB doit être perdu là
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    ok, voila le nouveau code,


    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
     
     
    Dim Ligne As String
    Dim Fichier As String
    Dim NewPosition As Integer
    Dim LastPosition As Integer
    Dim oResult As Object
    Dim i As Integer
    Dim st As String
    Dim N As Integer
     
    Fichier = "C:\Dossier\fichier1.txt"
     
    Open Fichier For Input As #1
        ' Boucle sur les lignes du fichier
        Do While Not EOF(1)
            Line Input #1, Ligne
            'MsgBox Ligne
    ' N = Count 'Ligne(Count) ' c'est la que j'essaye de boucler sur tte les ligne !!
            LastPosition = 0
            Set oResult = New Collection
            For i = 1 To Len(Ligne)
                NewPosition = InStr(LastPosition + 1, Ligne, ";")
                If New Position= 0 Then
                    Exit For
                Else
                    st = Mid(Ligne, LastPosition + 1, NewPosition - LastPosition - 1)
                    oResult.Add st, CStr(i) ' "ATT1" + "ATT2"
                    LastPosition = NewPosition
                End If
            Next
        Loop
    Close #1
     
    End Sub

    et pou la boucle ?

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Chez moi sa fonctionne sans problème
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    mais je n'arrive pas a boucler sur tt les lignes !!!

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    mais je n'arrive pas a boucler sur tt les lignes !!!
    Ton analyse, algarythme ne doit pas être bon pour extraire ce que tu veux, mais là je ne peu pas plus d'aider, a moins que tu puisses mettre ton fichier en piece jointe.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    excuses moi ProgElecT, merci pour tes réponses,
    je voulais dire en fait que je boucle sur une seule ligne la premiere mais je n'arrive pas a parcourir tout les ligne de ma liste !!!
    merci de votre aide

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    voila, vous trouverez un exemple de fichier1 joint
    Fichiers attachés Fichiers attachés

  9. #9
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    accro-macro, Inscrit le mercredi 13 septembre 2006, Total message: 27, discussions ouvertes: 6, Nbr.de TAGs utilisés: 1, moyenne: 17/100, ma partitipation jusqua ce post: 1
    Pour moi sa devient limite.


    Dans le dernier code que tu as mis, mis a par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oResult = New Collection
    TOUS les autres New doivent être remplacés par NewPosition.
    Je repette a nouveau, chez moi sela fonctionne.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    C'est bizarre !
    je viens de faire un essai avec ce fichier simple, ca marche ! mais pas avec l'autre !!!

  11. #11
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    PAS VRAI
    Avec ton fichier en piece jointe, cela ne fonctionne pas, de plus dés le debut tu me mène en bateau, ton premier code si tu l'avais essayé, un mesage d'erreur t'aurrai été signifié par l'editeur VB.
    Ton code (modifier a propos du New) comporte une erreur d'enchainement.

    Ma derniere aide, Set oResult = New Collection, est réinitialisé a chaque ligne.

    Salut je repondrai que si je me rend compte que tu suis tes messages et que tu fais des essais par toi même avant de demander de l'aide

    Salutation
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  12. #12
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    faudrait comme sur irc, un +ban

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 33
    Points : 11
    Points
    11
    Par défaut
    en fait je viens de me rendre compteque ce qui ne marche pas c'est qu'il lit pas toute la ligne puisque pour les deux derniere colonnes y'a pas de point virgule , c'est ca qui n'allait pas! , le reste c'est bon
    merci a vous tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/01/2011, 15h41
  2. Suppression toutes les lignes d'un fichier.log
    Par Fedox dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2009, 21h36
  3. Scanner n'a pas traité toutes les lignes d'un fichier ?
    Par grandGi32 dans le forum Général Java
    Réponses: 4
    Dernier message: 04/12/2008, 11h43
  4. Réponses: 6
    Dernier message: 19/02/2007, 13h34
  5. Fusionner toutes les lignes d'un fichier
    Par _Mac_ dans le forum Linux
    Réponses: 2
    Dernier message: 02/12/2005, 14h18

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