Fichier CSV sur 2007

fvuichard

XLDnaute Nouveau
Bonjour,

Voici mon problème: j'utilise des fichiers CSV que j'importe depuis un appareil de laboratoire.
Tout fonctionnais bien sous 2003 mais plus sous 2007.

Exemple de fichier avec 2003:

Date;01.02.2011;

Nom:;Méthode:;Répetition
B11-0125;méthode 2;oui
B11-0126;méthode 2;oui
B11-0127;méthode 2;oui

Ce fichier CSV fonctionne mais le problème se pose au niveau de la ligne vide avec 2007.

Exemple de fichier avec 2007:

Date;01.02.2011;
;;
Nom:;Méthode:;Répetition
B11-0125;méthode 2;oui
B11-0126;méthode 2;oui
B11-0127;méthode 2;oui

Voilà, avec 2007 il me met deux séparateurs au niveau de la ligne vide et du coup me génère une erreur lors de l'importation.

Avez-vous idée pour pallier a ce problème.

Merci!
 

MJ13

XLDnaute Barbatruc
Re : Fichier CSV sur 2007

Bonjour fvuichard

Tu peux Tester cette méthode:

Comme un fichier Csv a en général toujours la même structure (pour un type d'application), tu peux essayer de renommer le .csv en .txt.

Puis tu lances Henry (Henry Gistrair de Macrow),tu ouvres ton fichier txt et tu testes les différents assitants d'import pour voir celui qui convient.

Ensuite tu arrêtes Henry, et tu récupères le code.

Normalement cela devrait te faire gagner du temps, à condition que ton fichier ai les bon délimiteurs.

Voir aussi ici:
https://www.excel-downloads.com/threads/difficile-de-parametrer-opentext-lors-dun-import-csv.146708/
 

fvuichard

XLDnaute Nouveau
Re : Fichier CSV sur 2007

Hello!

Merci pour la réponse!

mais si j'ai bien compris, il s'agit d'une méthode pour ouvrir les fichiers dans excel au bon format?

Hors, je dois les importés dans un programme proprietaire qui n'a pour seul fonction d'ouvrir un fichier csv

de plus, il me faudrait une solution assez simple car il me suffit pour l'instant d'ouvrir le fichier csv avec le bloc-note, d'éffacer les deux point-virgules concernés puis d'enregistrer le fichier. Il est alors accepté sans problème lors de l'importation.
 

MJ13

XLDnaute Barbatruc
Re : Fichier CSV sur 2007

Re

Sinon teste ce code issu de l'aide:

Code:
Dim TextLine
Open "FICHTEST" For Input As #1    ' Ouvre le fichier.
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
    Line Input #1, TextLine        ' Lit la ligne dans la variable.
    Debug.Print TextLine    ' Affiche dans la fenêtre Exécution.
Loop
Close #1    ' Ferme le fichier.


Il faudra prévoir en #2 le fichier pour écrire en Output et tester la ligne 2 pour effacer les ;; :).

Avec par exemple:

Code:
Print #2 , ""
 

MJ13

XLDnaute Barbatruc
Re : Fichier CSV sur 2007

Re

Ce qui donnerait par exemple:

Code:
Sub test()
Close
Dim TextLine
Open "C:\Test.csv" For Input As #1    ' Ouvre le fichier.
Open "C:\Test2.csv" For Output As #2    ' Enregistre le fichier.
n = 1
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
    Line Input #1, TextLine        ' Lit la ligne dans la variable.
    'Debug.Print TextLine    ' Affiche dans la fenêtre Exécution.
    MsgBox TextLine
    If n <> 2 Then Print #2, TextLine Else Print #2, "": ' Enregistre dans le fichier texte #2.
    n = n + 1
    Loop
Close #1    ' Ferme le fichier.
Close #2
End Sub
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
536
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise