|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 5 ![]() |
Bonjour à tous.
J'ai une macro EXCEL qui doit ouvrir un fichier CSV dont l'encoding n'est pas connu : - il peut être soit en UTF8 (avec le marqueur BOM qui va bien au début), ou bien être en ascii standard (sans ce fameux marqueur). - de plus, les sauts de lignes peuvent être différents : soit \n, soit \r\n. Je dois lire le fichier ligne à ligne, sans perdre les caractères accentués qui le compose. Bref, il me faudrait une fonctionnalité de lecture de fichier "universelle". Pour l'instant, je detecte le type du fichier en lisant les 3 premiers octets, et en fonction de cela j'utilise soit ADODB.Stream soit FileSystemObject, mais je souhaite avoir une méthode un peu plus élégante. Avez-vous une idée ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Propose nous le code déjà réalisé et si possible un exemple des différentes structures que tu souhaites lire. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 5 ![]() |
Bonjour.
La structure du fichier n'est pas connu (c'est un fichier texte CSV, séparateur ";" , mais peu importe en fait). Voici le code en question (a placer dans un nouveau module - il faut activer la référence "Microsoft scripting Runtime" ) Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Et en mettant juste iso-8859-1 dans le CharSet quand tu es en ASCII, mais en gardant un Stream ADODB, ce serait plus simple non ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2012 Messages : 5 ![]() |
En effet, je n'y avais même pas pensé... Je dois maintenant régler le problème des retours chariots (qui peuvent etre soit CR soit CRLF), mais je suis sur la bonne voie ! Merci pour cet éclair de lucidité !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com