Problème d'utilisation de Line Input #

  • Initiateur de la discussion Initiateur de la discussion Gizmo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Gizmo

Guest
Bonjour,

Suite à une première demande sur l'importation de fichiers de plus de 256 colonnes, j'ai eu une réponse de Lord Nelson qui fonctionne très bien (cf : http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=116063&t=115988).

Par contre, j'ai un souci lors de l'utilisation des fichiers texte originaux. Si je les lis directement, Le code VBA (plus précisément Line Input #) va charger tout le fichier en le considérant comme une simple ligne.
Si j'ouvre le fichier texte dans Word et le ferme directement après (en sauvegardant les modifs que Word apporte), le code VBA considère les lignes en tant que telles.

Une analyse des 2 fichiers (original et Word) en hexadécimal ne montre aucune différence (sauf un CR+LF de plus en fin de fichier) alors qu'un soft de comparaison indique des changements (impossible de mettre la main sur ces différences malheureusement, elles n'apparaissent pas à l'écran).

A en croire la description de Line Input dans l'aide VBA, il faut un CR ou un CR+LF pour déterminer une fin de ligne. Le CR+LF est bien présent dans le fichier origine mais rien n'y fait, c'est comme si il était transparent. Par contre, la prise en compte lors de la lecture du fichier modifié par Word est OK...

Y a 'il quelqu'un qui pourrait me dire si il y comprend un peu plus que moi et si Line Input peut être configuré pour prendre en compte le format texte original que je récupère? Peut-il s'agir tout simplement d'un formatage ANSI/ASCII particulier?

Merci,
Giz.

PS : une ouverture en direct du fichier original par Excel dans une feuille de calcul (via le soft ou VBA) ne pose aucun problème.
 

Pièces jointes

Bonjour Gizmo,

Bon ne t'inquiètes pas, y'a pas de Gremlins dans ton VBA. Lol ! Juste que tes CR (Carriage Return, 0D en hexa ou 13 en décimal) sont en fait des LF (Line Feed, 0A ou 10). Or, comme le précise l'aide, il faut un CR ou un CR+LF pour que Line Input # le reconnaisse comme tel. Ici t'u n'as que le LF, il n'en tient donc pas compte. Word visiblement le remplace par un CR+LF c'est pourquoi ça fonctionne après "modif" dans Word.

Pour régler ton problème soit tu fais comme tu dis en enregistrant avec Word, soit tu remplaces tes 0A en 0D avec ton éditeur Hexa. Autrement si tu as la possibiliter de modifier le programme qui génère ton fichier, tu sais ce qu'il te reste à faire.

J'espère que cela t'aidera.

Bon après-midi.

José
 
Salut José,
Bon ben là je ne comprends plus rien si je fais confiance à mon éditeur hexa (Ultra Edit) car il m'annonce bien le CR+LF (soit la séquence 0D 0A)... D'où mon post sur le forum pour avoir un avis!!
Si tu peux éditer le fichier et qu'il comporte effectivement juste le Line Feed alors c'est donc tout bon! Sinon... il y a anguille sous roche pour ne pas dire poulet après minuit!! lol.

Bonne soirée.
Giz.
 
Bonjour Gizmo,

Le mien d'éditeur Hexa c'est Hex Editor (V2) de HHD Software. Il est gratuit et je l'aime bien. Mais peut-être qu'il ne t'aime pas toi car il ne trouve pas un seul 0D dans ton fichier. Que des 0A. Et pourtant je le mouille jamais ;°))
Où va-t-on si les éditeurs Hexadécimaux ne s'entendent plus entre eux ?

Plus sérieusement, je suppose que ton fichier vient d'une autre plate-forme que Windows. Je sais qu'en Unix les CR+LF sont gérés d'une autre façon. Sur Mac aussi je crois.

Si tu n'as pas moyen de modifier le programme qui génère le fichier, il te reste la solution d'ouvrir ton fichier en binaire et de le lire octet par octet avec un test sur 0A. Ca sera un poil plus compliqué mais si tu sais gérer des Line Input #, tu dois pouvoir t'en sortir.

Bonne journée.

José
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
325
Réponses
10
Affichages
371
Retour