Flat file : logiciel pour convertir en excel [Fermé]

Signaler
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020
-
Messages postés
29662
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 septembre 2020
-
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 :)

1 réponse

Messages postés
29662
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 septembre 2020
6 741
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
Messages postés
29662
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 septembre 2020
6 741 >
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020

Tous les enregistrements doivent avoir le même format. Sinon les cas particuliers il faut les traiter à la main.
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020
475
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 ?
Messages postés
29662
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 septembre 2020
6 741 >
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020

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 ???
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020
475
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...
Messages postés
29662
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 septembre 2020
6 741 >
Messages postés
1663
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
6 septembre 2020

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.