Creation de fichier text

Iniluki -  
 Iniluki -
Bonjour,
Je souhaiterais créer un fichier texte avec une longueur fixe par champ et sans déliminateur.

Ce qu'il me faudrait c'est une chaine de 221 caractères de la façon suivante.

1à 5 : valeur numérique fixe
6 à 10: valeur numérique fixe
11 à 21 : valeur numérique variable
22 à 23: valeur numérique variable
24 à 61: valeur alpha et des blancs si champ vide ou alpha puis blanc
62 à 99 : valeur alpha et des blancs si champ vide ou alpha puis blanc
100 à 137 : valeur alpha et des blancs si champ vide ou alpha puis blanc
138 à 175 : valeur alpha et des blancs si champ vide ou alpha puis blanc
176 à 213 : valeur alpha et des blancs si champ vide ou alpha puis blanc
214 à 216 : valeur numérique
217 à 218 : valeur numérique
219 à 221 : valeur numérique

Est ce quelqu'un pourrait me conseiller comment le mettre en place et avec quel outil?
A voir également:

3 réponses

Jem
 
Lu,

C'est suivant le type de programme que vous désirez utiliser.

Une simple concaténation de chaine fera l'affaire avec l'ajout de caractères 0 pour les emplacements vides.

Pour ta valeur numérique caractères (1 à 5) :
0 0 0 0 0 ==> valeur 0

0 0 0 0 1 ==> valeur 1

En hexa ou alpphnumérique c'est la même chose:

0 0 0 0 FF ==> valeur 255 (FF==> en haxa ==> sachant que chaque caractère peut prendre la valeur de 0 à 255)

L'extraction se fait ensuite en découpant la chaine de caractère. Mais VBA, VB, PHP, JAVA, C++... savent tous le faire (Vb et VBA étant les plus simple d 'emploi).

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ==> en extrait les 5 premiers caractères ==> 0 0 0 0 1 ==> on en retire les caractères inutiles (0 ne servant à rien reste: 1

Bonne prog.
0
Iniluki
 
Bonjour,

Merci pour cette réponse, malheuresement les 0 me servent donc ils ne doivent pas disparaitre et si un champ n'est pas rempli pour les alpha ou ne contient pas les 38 caractères il me faut des espaces blancs, donc 38 blancs si rien est rempli ou 3 alpha et 35 blancs si le champ n'est pas totalement rempli.

Et encore merci
0
Iniluki
 
En utilisant microsoft Access et en créant une macro sous la forme

Private Sub Command24_Click()
DoCmd.TransferText acExportFixed, "Export Specification", "Nom de la Base", "nomdufichier.txt"
End Sub

pour l'export j'ai choisi:
Fixed Width

Et avec le formulaire je peux extraire les données sans délimitation et avec la longueur que je sohaite.
0