Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - Fichier texte particulier

danielco

XLDnaute Accro
Bonjour,

Je cherche à lire un fichier texte dont les enregistrements sont séparés par des caractères ASCII 10. Avec la méthode Line Input, le fichier est lu en une fois. Je dois ensuite faire un Split sur ce caractère. Est-il possible de le lire enregistrement par enregistrement ?

Merci par avance.

Daniel
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je pense avoir trouvé, remplacez :
VB:
Dim Fichier, T, Ligne$, L%, T1, T2, T3
par
Dim Fichier, T, Ligne$, L#, T1, T2, T3
Le nombre de ligne est limité à 32768, avec # il est "quasi" infini".
Chez moi ça marche avec un fichier de 42Mo, ce qui génère 95000 lignes.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Cela m'étonnerais que cela vienne de là, je suis en Win10 XL2007. Vous êtes bien sous Windows ?
Avec votre fichier, je trouve NbL=34351, et cela génère 3012 lignes.


essayez avec cette PJ, c'est votre fichier tronqué pour qu'il tienne en 1Mo.
Je trouve NbL=6635 et 2210 lignes générées.
 

Pièces jointes

  • Ex3.txt
    980.7 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Danielco,
Deux choses :

1- En PJ j'ai mis un fichier test, le même que précédemment, mais sans déclaration de variables pour laisser le VBA décider ( au cas où ), et sans la fonction taille fichier.
Le fichier Résultat le ... résultat d'analyse de votre fichier, pour mémoire

2- Plus "amusant" :
- Sous Chrome ( ou Firefox, c'est le même résultat ) vous ouvrez votre lien Cijoint.com.
- Chrome vous l'ouvre sous format XML

- Clic droit "Enregistrez sous", il vous propose une extension XML, vous enregistrez sur le bureau.
- Sous XL vous ouvrez ce fichier, et vous trouvez un fichier XML complet !
avec en particulier :

Cela permet d'exploiter directement le XML sous XL sans passer par le VBA.
Reste à savoir comment Chrome a traduit votre fichier txt de Cijoint.com en XML, comment il a retrouvé une structure connue.

"Bizarrement", le fichier XML généré a bien la structure de votre fichier :
VB:
<Record type="HKQuantityTypeIdentifierHeartRate" sourceName="Apple Watch de daniel" sourceVersion="8.1" device="<<HKDevice: 0x281a87b10>, name:Apple Watch, manufacturer:Apple Inc., model:Watch, hardware:Watch6,7, software:8.1>" unit="count/min" creationDate="2021-12-03 20:09:11 +0100" startDate="2021-12-03 20:00:47 +0100" endDate="2021-12-03 20:00:47 +0100" value="69">
<MetadataEntry key="HKMetadataKeyHeartRateMotionContext" value="1"/>
</Record>
 

Pièces jointes

  • Txt Test.xlsm
    18.3 KB · Affichages: 1
  • Résultat.xlsb
    851.8 KB · Affichages: 1

Discussions similaires

Réponses
5
Affichages
402
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…