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 :

Compter les lignes CSV en VB6


Sujet :

VB 6 et antérieur

Vue hybride

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

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Par défaut Compter les lignes CSV en VB6
    Bonjour,

    j'ai l'habitude d'utiliser les fonctions Open/Close Line Input#/Print#/Get# pour stocker ou lire des données dans des fichiers csv avec une interface VB6 mais aujourd'hui je bloque sur un problème :

    comme lire simplement le nombre de lignes d'un fichier csv que chaque jour j'exporte et qui varie.

    Je peux vous aider en vous donnant le chemin de mon fichier :
    Trim(VarPathApplication) & "\cmx_export.csv

    A la limite je souhaiterais récupéré ce nombre de ligne dans un label "LabelNbLigneCSV"

    Merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Par défaut
    Re, vous pouvez fermer ma demande j'ai réussi en faisant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim strLigne As String
    Dim nbligne As Integer
     
    Open Trim(VarPathApplication) & "\cmx_export.csv" For Input As #1
     
    Do While Not EOF(1)
        Line Input #1, strLigne
        nbligne = nbligne + 1
    Loop
     
    MsgBox " Nombre de lignes : " & nbligne
    Voilà

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Par défaut
    Re bonjour,

    maintenant que j'ai réussi à ouvrir mon fichier et compter mon nombre de lignes totales je souhaiterais extraire les valeurs correspondant à chaque colonne.

    En effet pour chaque ligne j'ai :

    ligne 1 : 0.3452;0.28945;0.432566;0.2113
    ligne 2 : 0.876652;0.945;0.432564;0.2
    etc ....

    le chaque point virgule représente un séparateur de colonne donc j'aimerais avoir 4 variables qui reprennent mes 4 valeurs par ligne.

    Exemple pour ma 1ere ligne :
    var1 = 0.3452
    var2 = 0.28945
    var3 = 0.432566
    var4 = 0.2113

    Quelqu'un peux t-il m'aider ??
    Merci d'avance

  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
    Salut

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Option Explicit
    Private Type MultipleTableau
     LeData() As String
    End Type
     
     
    Private Sub Form_Load()
    Dim MonTableau() As MultipleTableau
    Dim T As Integer, U As Integer
    Dim Msg$
    Dim NbrLgn As Integer, NbrCln As Integer
    Dim NumFich As Integer
    Dim CheminNomFichier As String
     
    CheminNomFichier = "?????????????"
    Msg$ = ""
    NumFich = FreeFile
    Open CheminNomFichier For Input As #NumFich
    Msg$ = Input(FileLen(CheminNomFichier), NumFich)
    Close #NumFich
    If Msg$ = "" Then
     MsgBox "le fichier est vide", vbCritical
     Unload Me
    End If
     
    'variables intermediaires à 1 indice, servant à construire le tableau "MonTableau" a 2 indices
    Dim DecoupeContenuLg() As String
    Dim DecoupeContenuCl() As String
     
    'création du tableau "DecoupeContenuLg", pour 1° indice (Ligne) du tableau "MonTableau"
    DecoupeContenuLg = Split(Msg$, vbCrLf)
    'création du tableau "DecoupeContenuCl", pour 2° indice (colonne, "LeData") du tableau "MonTableau"
    DecoupeContenuCl = Split(DecoupeContenuLg(0), ",")
    'recuperation du Nbr de lignes et Nbr de colonne
    NbrLgn = UBound(DecoupeContenuLg) - 1 '(-1 car le fichier ce termine par une ligne vierge)
    NbrCln = UBound(DecoupeContenuCl)
     
    'maintenant que le Nbr de lignes et le Nbr de colonnes est connu
    'dimensionnement de la variable tableau "MonTableau"
    ReDim MonTableau(NbrLgn)
     
    'remplis le tableau "MonTableau" a 2 dimensions
    For T = 0 To NbrLgn
     'recuperation de chaque ligne
     DecoupeContenuCl = Split(DecoupeContenuLg(T), ",") 'la separation de chaque colonnes est une virgule
     For U = 0 To NbrCln
      ReDim Preserve MonTableau(T).LeData(U)
      MonTableau(T).LeData(U) = DecoupeContenuCl(U)
     Next U
    Next T
     
    'Lecture du tableau "MonTableau" a 2 dimensions
    For T = 0 To NbrLgn
        For U = 0 To NbrCln
            Debug.Print MonTableau(T).LeData(U)
        Next U
    Next T
    End Sub
    :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
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Par défaut
    Tout d'abord merci à ProgElect pour sa réponse mais j'aimerais avoir des précisions :



    En fait je souhaite traduire des données de patients parkinsoniens que je récupère en fichier csv.

    Par exemple, pour le fichier Test.csv quand j'ouvre j'ai :

    X Data;Y Data;Z Data;Time Data
    -0.724487;-0.307907;-0.742599;0
    -0.724487;-0.307907;-0.760712;0.01
    -0.706375;-0.307907;-0.742599;0.02
    -0.724487;-0.307907;-0.742599;0.03
    -0.724487;-0.307907;-0.742599;0.04
    -0.706375;-0.289795;-0.724487;0.05
    -0.706375;-0.289795;-0.706375;0.06
    -0.706375;-0.253571;-0.706375;0.07
    -0.706375;-0.271683;-0.724487;0.08
    -0.688263;-0.253571;-0.724487;0.09


    Mon souhait des de lire l'ensemble des lignes dont le nombre peut varier d'un fichier à l'autre est les mettre dans un tableau.

    Ensuite lire ce tableau ligne par ligne qui a affiché les valeurs dans un label.

    Pouvez-vous m'aider ??

    Merci

  6. #6
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Quand tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim strLigne As String
    Dim nbligne As Integer
     
    Open Trim(VarPathApplication) & "\cmx_export.csv" For Input As #1
     
    Do While Not EOF(1)
        Line Input #1, strLigne
        nbligne = nbligne + 1
    Loop
     
    MsgBox " Nombre de lignes : " & nbligne
    Si tu fais un split de la variable strLigne, le résultat sera une variable tableau.

Discussions similaires

  1. Compter les lignes d'un fichier CSV à partir d'une ligne
    Par miniRoshan dans le forum Général Java
    Réponses: 6
    Dernier message: 03/06/2010, 11h16
  2. Réponses: 4
    Dernier message: 02/06/2010, 17h23
  3. Compter les lignes du fichier CSV
    Par miniRoshan dans le forum Général Java
    Réponses: 5
    Dernier message: 28/05/2010, 11h37
  4. [CSV] Compter les lignes d’un fichier csv
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 11h16
  5. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17

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