Flat file : logiciel pour convertir en excel

Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
- - Dernière réponse : jee pee
Messages postés
26618
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 septembre 2019
- 5 sept. 2019 à 22:10
Bonjour la communauté,

J'ai des fichiers dans lesquels les informations correspondent à des emplacements spécifiques dans le fichier par exemple
caractères 0 à 20 : nom (20 car)
caractères 21 à 41 prénom (20 car)
...

Apparement, cela s'appellerait des "fichiers plats". Connaissez vous des outils pour les manipuler ? Idéalement, il faudrait que je puisse le convertir en excel ou en .csv.

Merci :)
Afficher la suite 

1 réponse

Messages postés
26618
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 septembre 2019
5482
0
Merci
Bonjour,

Pas besoin de les convertir. Tu ouvres ton fichier texte (le mieux c'est de lui donner un nom avec une extension .txt) dans excel et tu choisis un fichier avec enregistrements de largeur fixe et tu mets des séparateurs aux positions de tes colonnes.

Cdlt
jee pee
Messages postés
26618
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 septembre 2019
5482 > Hydr0s
Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
-
Tous les enregistrements doivent avoir le même format. Sinon les cas particuliers il faut les traiter à la main.
Hydr0s
Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
304 -
Il y a un trop d'exceptions dans le fichiers pour pouvoir les traiter à la main (~5000/8000 lignes). Il n'y aurait pas un autre outil qu'excel ?
jee pee
Messages postés
26618
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 septembre 2019
5482 > Hydr0s
Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
-
pour un traitement automatique il faut déjà avoir des règles

comment sait-on que sur un enregistrement il y a plusieurs téléphones, adresses ???
Hydr0s
Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
304 -
Justement, il y a un champ dans le fichier qui permet de connaître leur nombre et on connait le nombre de caractère pour chaque groupe.

car 0 - 20 (20) : nom
car 21-41 (20) : prénom
[...]
car 161-162 (1) : nombre de numéro de téléphone (n)
car 163-164 (1): nombre d'adresses (k)
[...]
A partir car 173 :
- 10 car * n : numéro de téléphone
- 100 car *k : adresse
>> 15 car : nom adresse
>> 20 car : ligne 1
>> 20 car : ligne 2
>> 20 car : ligne 3
>> 5 car : CP
>> 20 car : ville
<fin fichier>

Avec des formules ce devraient être possible mais l'idée est d'avoir un traitement automatisé pour ces fichiers. Avant de partir programmer un truc, j'espérais qu'il existait déjà des outils...
jee pee
Messages postés
26618
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 septembre 2019
5482 > Hydr0s
Messages postés
1674
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
5 septembre 2019
-
Tu pourrais le faire dans excel.

Tu charges les colonnes fixes jusqu'en 172. Puis une colonne avec tout le reste, et avec excel créer 9 colonnes date et 9 groupes d'adresse.

Si n est en L, et k en M, et 173+ en P

tel1 =SI(L1>=1;STXT(P1;(L1-1)*10+1;10))
tel2 =SI(L1>=2;STXT(P1;(L1-1)*10+1;10))
...
tel9 =SI(L1=9;STXT(P1;(L1-1)*10+1;10))

Adr1 =SI(M1>=1;STXT(P1;L1*10+((M1-1)*100+1);15))
     =SI(M1>=1;STXT(P1;L1*10+((M1-1)*100+16);20))
...
     =SI(M1>=1;STXT(P1;L1*10+((M1-1)*100+81);20))


Approximativement puisque pas testé.

Mais si je devais charger le fichier dans une base Oracle, je le ferais avec son outil Sql*Loader qui est destiné à cela.

Le découpage doit aussi pouvoir se faire avec des macros excel.
Commenter la réponse de jee pee