Découpage d'un fichier txt

Bonjour à tous je cherche à découper de façon automatique un fichier à plat txt.

Simple mais là où les choses se complexifient pour moi c'est que les lignes et les colonnes de ce fichier ne sont fixes. Les lignes ressemblent à ça :

1122C032 1171702100121750170287436 211167349 1 1902194714001 1110201585131020156121700 000 000403003S4200 Z752 T253 V892 F100 T00 T019 Y912 11102015QZJA017 01 F 0111102015MBQK001 01 FZ 10111102015NFQK001 01 Z 201

Tout est fixe à jusqu'à la colonne 141 puis après tout dépend des chiffres dans les colonnes 134 136 et 138 qui détermineront les colonnes à partir de 193.

J'espère que c'est assez clair, je pense qu'il faut faire une macro avec des boucles pour chaque lignes de mon fichier (qui peux avoisiner les 20000 lignes en fin d'année) mais je n'y connais rien...

J'ai joint le format des fichiers en question.

Merci de votre aide

26formats-mco2016.pdf (119.22 Ko)

Bonjour et bienvenu,

En complément de la description du fichier, peux-tu envoyer un fichier de données (ou un extrait) ?

Bouben

Et voila.

Merci bcp

21rss2-210012175.zip (58.65 Ko)

Rebonjour,

En croisant la description et le fichier, besoin d'un peu plus de précisions.

Découpage commencé, mais il rapidement bloqué pour interpréter ...

"Tout est fixe à jusqu'à la colonne 141 puis après tout dépend des chiffres dans les colonnes 134 136 et 138 qui détermineront les colonnes à partir de 193."

Je comprends qu'un ou plusieurs bloc sont dupliqués n fois, mais comment cela s'articule ?

Les blocs sont entrecroisés ? Chaque nombre (en colonne 134, 136 et 138) correspond à un bloc dupliqué ? Et la structure de ces blocs (zone d'acte, DA, DAD) est décrite où ?

Ce serait bien d'avoir un exemple de découpage pour plusieurs cas.

Bouben

En fait, il s'agit de fichier de cotations médicaux.

Les blocs fixes sont les données administratives, date d'entrée, date de naissance etc...

Puis vient les diagnostiques des maladies et éventuellement les actes qu'on a fait aux malades.

Donc ils ont tous un diagnostique principal et 0 ou n diagnostique associé et/ou descriptif et 0 ou n actes.

C'est pour ça que les colonnes 134 136 et 138 déterminent si après il y aura 0 ou n des trucs de la phrases du dessus...

Je vais découper une ligne à la main pour que ce soit peut-être plus clair

C'est juste un peu plus clair

Dans le pdf, la description du diagnostic principal est expliqué, en revanche, la description des 3 autres types d'enregistrements n'apparaît pas clairement.

Un ou plusieurs exemples de découpage sont nécessaires (pour le début, c'est clair).

En tâtonnant, le résultat n'est pas probant ...

Bouben

Ca doit ressembler à ça avec les zones fixes (pleines ou vide selon les lignes) et les zones variable DA1 à DAn et zone d'acte 1 à n.

La plupart sont des chiffres 0 et lorsqu'il s'agit de caractère j'ai mis X et il y a aussi des dates au format date.

36test.xlsx (10.64 Ko)

Bonjour,

Cette partie est bien décrite dans le pdf. Ce qu'il faut préciser, c'est justement la suite :

> comment se décompose chaque DA, chaque DAD, chaque acte

> fournir un exemple avec plusieurs DA, plusieurs DAD et plusieurs actes (ou la description des enregistrement).

Ces points ne sont pas précisés dans le pdf, et non complétés dans ton fichier exemple

Cordialement

Bouben

Bonjour,

Salut bouben,

Si j'ai bien compris le pdf les DA et DAD sont sur 8 car.

Donc m*8+n*8 et ensuite on trouve les les ZA des DAD (8+7+3+1+1+1+4)

Peut-être l'as-tu vu mais ayant été plus en avant dans l'analyse tu bloques sur autre chose (?)

Eventuellement si le but est de faire des stats pourquoi ne pas sortir directement les chiffres (dans la mesure où ça ne complique pas à outrance) ? Plutôt qu'un tableau gigantesque (potentiellement 1237 colonnes) qui sera à reprendre pour analyse... C'est quoi ton but ultime zorglub ?

J'interviens juste pour faire part de ma réflexion et faire avancer le schmilblick.

eric

Bonjour à tous

Si j'ai bien compris le pdf les DA et DAD sont sur 8 car.

Donc m*8+n*8 et ensuite on trouve les les ZA des DAD (8+7+3+1+1+1+4)

Peut-être l'as-tu vu mais ayant été plus en avant dans l'analyse tu bloques sur autre chose (?)

Bien vu ! Non, je n'avais pas interprété de cette façon. Heureusement que tu es là pour expliquer

J'interviens juste pour faire part de ma réflexion et faire avancer le schmilblick.

Confirmation

Pour la préconisation, sûrement une bonne idée !

Allez, j'essaie mettre en place le découpage demandé, et pour le reste, on attend que notre ami se manifeste

Bonne journée

Bouben

Bonsoir,

Ci-joint une première version, à tester.

> sélection du fichier dans l'onglet "Accueil"

> résultat dans l'onglet "Résultat"

https://www.cjoint.com/c/FKfseIqJnl6

Grâce à la bonne analyse faite par eriiic

Vive la Bourgogne et le pays Beaunois

Bonne soirée

Bouben

J'ai jeté un oeil. Très propre, bravo

Mais tu ne penses pas que le nombre d'actes max mériterait sa propre constante ?

Ils en ont prévu 10 fois plus (999) que de DA ou DAD (99)

Voire même mettre le maxi possible pour chaque (99+99+999) et mettre un plan pour masquer les colonne DA et DAD inutilisées.

Hello,

Cette version sera vraisemblablement à améliorer, un onglet avec 1000 colonnes est dans tous les cas inexploitable

Après le découpage, notre ami aura sûrement des idées sur la restitution, phase 2, en attente de réponse sur ta remarque pertinente :

eriiic a écrit :

si le but est de faire des stats pourquoi ne pas sortir directement les chiffres (dans la mesure où ça ne complique pas à outrance) ? Plutôt qu'un tableau gigantesque (potentiellement 1237 colonnes) qui sera à reprendre pour analyse... C'est quoi ton but ultime zorglub ?

Et dans ce cas, il faudra distinguer la partie données, à réorganiser en lignes (et plus en colonnes) de la partie présentation/restitution.

En attente de réponse de Zorglub pour envisager un fichier plus abouti ...

Pour le nombre d'actes, pas de max géré : les actes complémentaires se rajouteront à la fin (il manquera juste les titres de colonnes, à remettre une fois pour tout).

Cordialement

Bouben

Déjà merci à vous de vous intéresser à mon problème.

Je ne réponds pas assez vite car j'ai mis mon adresse pro en adresse mail de lien mais je vais peut-être changer.

Sinon l'objet de ce découpage est de pouvoir faire des vérifications sur le contenu du fichier avant de l'envoyer vers l'organisme qui le traite. Vérifier que les codes sont corrects et qu'ils respectent certaines règles préétablis.

Par exemple avec tel code en DP on doit avoir tel code en DR ainsi de suite. Je vais tester le fichier et je vous redit tout ça.


Vous êtes des champions du monde...

Bon la prochaine étape serait que je puisse comprendre tout ça...

Merci bcp bcp bcp. Ca fait des mois que je cherche comment faire et je me doutais bien que seul les macro y arriveraient.

Rechercher des sujets similaires à "decoupage fichier txt"