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

Macros et VBA Excel Discussion :

ReadLine n'arrive pas ài identifier les lignes de mes fichiers csv [XL-2016]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Par défaut ReadLine n'arrive pas ài identifier les lignes de mes fichiers csv
    Bonjour à tous,

    Afin de ne plus être tributaire des différents paramètres régionaux d'Excel et de Windows, je cherche à charger les données de fichiers csv directement dans des variables tableaux.
    Pour cela, je passe par Scripting.FileSystemObject.
    J'ai activé la référence Microsoft Scripting Runtime
    Voici un bout de mon 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
    Dim line As String, Arr
    Dim FSO As Object, Fo As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Fo = FSO.OpenTextFile("(chemin de mon fichier)\D20220416test.csv", ForReading, False, TristateFalse)
     
    While Not Fo.AtEndOfStream
     line = Fo.ReadLine      ' sensé lire le csv ligne par ligne mais dans mon cas lit l'ensemble des lignes
     Debug.Print line         'voir résultat ci-dessous
     Arr = Split(line, ";")  ' ne peut pas fonctionner correctement
     'etc......
     
    Wend
    Fo.Close
    Set Fo = Nothing
    Set FSO = Nothing
    Le problème c'est que ReadLine (ligne 7) qui est sensé lire une ligne entière (jusqu’au caractère de retour à la ligne, sans l’inclure, dixit l'aide) n'arrive pas à identifier les lignes et lit systématiquement la totalité du fichier en une seule passe.
    Le résultat c'est qu'il n'y a aucune colonne identifiable et la dernière donnée de la ligne est collée à la première de la ligne suivante.
    Bref, je n'arrive pas à exploiter les données.

    Pourtant, le debug.print de l'unique extraction montre bien les lignes de mon csv :
    16/04/22 11:00;0,76;8,26;2,84;372,00;7,55;5,50;517,8
    16/04/22 12:00;0,76;8,26;2,84;372,00;7,55;5,50;517,8
    16/04/22 13:00;0,76;12,58;2,84;363,00;7,52;5,50;517,8
    16/04/22 14:00;0,76;12,58;2,84;363,00;7,55;5,50;517,8
    16/04/22 15:00;0,76;12,58;2,84;363,00;7,55;5,50;517,8
    16/04/22 16:00;0,76;12,58;2,84;363,00;7,55;5,50;517,8
    16/04/22 17:00;0,76;16,41;3,01;330,00;7,55;5,50;548,8
    16/04/22 18:00;0,76;16,41;3,01;330,00;7,55;5,50;548,8
    16/04/22 19:00;0,76;16,41;3,01;330,00;7,55;5,50;548,8
    16/04/22 20:00;0,76;16,41;3,01;330,00;7,55;5,50;548,8
    16/04/22 21:00;0,78;20,00;3,16;310,00;7,55;5,50;576,2
    16/04/22 22:00;0,78;20,00;3,16;310,00;7,55;5,60;576,2
    16/04/22 23:00;0,77;22,04;2,94;285,00;7,55;5,50;536,1
    17/04/22 00:00;0,77;22,04;2,94;285,00;7,55;5,50;536,1
    et si j'ouvre le fichier dans le bloc note, les lignes sont bien là. Idem avec Excel qui sait mettre directement ces données en tableau. J'en conclue que le caractère de retour de ligne est bien présent, sinon les données ne pourraient pas être extraites.

    Le résultat est le même pour les deux versions d'Excel que j'ai : 2010 et 2016
    Je n'arrive pas à trouver ce qui coince.

    Merci à ceux qui pourront m'aider à comprendre et surtout à résoudre ce mystère.

    Ci-joint un des fichiers que je cherche à extraire.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Je n'arrive pas a afficher les lignes de ma table MYSQL
    Par skander222 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/12/2014, 14h16
  2. 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
  3. Réponses: 4
    Dernier message: 02/06/2010, 17h23
  4. 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
  5. [CSV] Compter les lignes d’un fichier csv
    Par sam01 dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 11h16

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