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
Bonjour Danielco,
Vous pouvez fournir un extrait de votre fichier txt ?
Ce serait plus simple pour répondre.
Sinon : Oui c'est possible avec un split sur chr (10).
Mais chr(10) étant un saut de ligne, le split ne sera pas utile car ce sera la chaine lue suivante.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonsoir
c'est pas du texte c'est du xml autant utiliser la librairie adéquate et choper ce que l'on veut des balise
bien qu'il me semble être du html converti en xml mais pas udf 8 donc des caractères de structure remplacer
 

patricktoulon

XLDnaute Barbatruc
re
l'ai testé en lecture xml, il a comme je te l'ai dis des caractères de structures qui ont été remplacé
du fait c'est même plus un xml valide ou alors il a un préambule de shema que tu n'as pas copier dans ton texte
bref te reste plus qu'a faire des split de splits interminables et qui selon le fichier ne marcheront pas
pour ce genre de travail je te laisse avec @sylvanu qui semble avoir pris les choses en main
 

danielco

XLDnaute Accro
Actuellement, j'extraie les lignes qui contiennent la chaîne
"HKQuantityTypeIdentifierHeartRate". Ensuite, avec Power Query, je filtre les données des 7 derniers jours, je récupère la date, l'heure et la valeur.

Daniel
 

danielco

XLDnaute Accro
Effectivement, j'ai copié au hasard. Le fichier commence comme ceci :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HealthData [
<!-- HealthKit Export Version: 11 -->
<!ELEMENT HealthData (ExportDate,Me,(Record|Correlation|Workout|ActivitySummary|ClinicalRecord)*)>
<!ATTLIST HealthData
locale CDATA #REQUIRED
>
<!ELEMENT ExportDate EMPTY>
<!ATTLIST ExportDate
value CDATA #REQUIRED
>
<!ELEMENT Me EMPTY>
<!ATTLIST Me
HKCharacteristicTypeIdentifierDateOfBirth CDATA #REQUIRED
HKCharacteristicTypeIdentifierBiologicalSex CDATA #REQUIRED
HKCharacteristicTypeIdentifierBloodType CDATA #REQUIRED
HKCharacteristicTypeIdentifierFitzpatrickSkinType CDATA #REQUIRED
>
<!ELEMENT Record ((MetadataEntry|HeartRateVariabilityMetadataList)*)>
<!ATTLIST Record
type CDATA #REQUIRED
unit CDATA #IMPLIED
value CDATA #IMPLIED
sourceName CDATA #REQUIRED
sourceVersion CDATA #IMPLIED
device CDATA #IMPLIED
creationDate CDATA #IMPLIED
startDate CDATA #REQUIRED
endDate CDATA #REQUIRED
>
etc.
Le zip contient deux fichhiers :
-export.xml
-export_cda.xml

Daniel
 

Discussions similaires

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