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 :

Ouvrir fichier csv avec saut de ligne dans les champs


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 103
    Par défaut Ouvrir fichier csv avec saut de ligne dans les champs
    Bonjour à tous,

    J'ai problème avec un fichier csv, extrait d'une base de donnée, qui se retrouve avec des sauts de ligne dans certains champs. Je crois que c'est un problème assez récurent au vu du nombre posts sur le sujet sur le net mais je n'ai pas trouvé de solution satisfaisante.

    Je vous joint le fichier CSV en lui même (j'ai du le renomer en .txt pour pouvoir le joindre mais c'est bien un .csv chez moi)
    poteau_export_02122020_084151_746-light.txt

    Alors voilà si je l'ouvre avec notepad++ on voit qu'il y a un saut de ligne intempestif à la ligne 8 :
    Nom : Notepad++.PNG
Affichages : 1191
Taille : 33,0 Ko

    Quand je l'ouvre directement en double cliquant dessus j'ai le résultat suivant :
    Nom : Doubleclic.PNG
Affichages : 1121
Taille : 39,3 Ko
    Donc il semble que nativement excel arrive a déterminé que ce saut de ligne n'est pas une fin de ligne mais est inclus dans un champ.

    Par contre quand je veux l'ouvrir en vba je n'arrive pas avoir le même résultat.
    Si j'ouvre avec la fonction open :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:=wbPath
    J'obtient ça :
    Nom : Open.PNG
Affichages : 1083
Taille : 50,3 Ko
    Non seulement il ne gère pas correctement mon saut de ligne mais en plus il ne gère pas du tout les séparateurs ";".

    Si j'utilise la fonction opentext :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Workbooks.OpenText Filename:=wbPath, Origin:=xlWindows, _
                StartRow:=1, DataType:=xlDelimited, Semicolon:=True, Local:=True
    J'obtient ça :
    Nom : OpenText.PNG
Affichages : 1066
Taille : 41,2 Ko
    Donc ici les séparateurs ";" sont bien gérés mais pas le saut de ligne.

    Donc je voulais savoir si il existe une manière simple d'ouvrir le fichier en vba comme le fait nativement excel quand je double clic dessus ?

    Sur un ancien projet j'avais mis en place une fonction qui ouvrait le fichier avec OpenText puis je cherchais les saut de ligne et je recomposait moi même mon fichier, mais c'est assez lourd mon fichier csv faisant plus de 70k lignes, donc j'aurais espéré trouver une solution plus simple.
    Images attachées Images attachées  

Discussions similaires

  1. Supprimer les sauts de ligne dans les champs texte d'un csv
    Par Razyor dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 24/07/2018, 14h21
  2. Réponses: 18
    Dernier message: 04/11/2015, 14h54
  3. Réponses: 12
    Dernier message: 29/04/2014, 05h47
  4. inserer un commentaire avec saut de ligne dans un control
    Par jeanboudi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/04/2008, 21h31
  5. Réponses: 3
    Dernier message: 11/06/2007, 11h20

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