Ecrire dans un fichier texte sur une colonne précise

Résolu
nico2nico65 Messages postés 2 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 28 juin 2007 - 27 juin 2007 à 16:58
nico2nico65 Messages postés 2 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 28 juin 2007 - 28 juin 2007 à 18:30
Bonjour,

   Je dois réaliser un fichier texte à partir d'informations saisies dans Excel. Ce fichier texte me permet ensuite d'importer les factures dans un logiciel de comptabilité.
   J'arrive à créer un fichier et à écrire dedans mais pas à l'emplacement voulu.

Par exemple, le numéro de facture doit commencer à la 39ème colonne comme dans l'exemple ci-dessous.

   70 150906FC41110000      PIJ87        060633

Pour l'instant, je ne suis capable que d'obtenir ceci.

   70150906FC41110000PIJ87060633.

Merci d'avance pour votre aide

4 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 juin 2007 à 19:41
Bonjour,

Utilise write, tab et le point virgule.
3
cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
27 juin 2007 à 18:17
Si tu dois écrire une valeur à la 39ème colonne, tu peux connaître la longueur (appelons ça Len(str)) ce que tu as déjà écrit avant.
En faisant 39 - Len(str), tu obtiens le nombre d'espace à écrire avant d'arriver à la 39ème colonne.

Il y a peut être mieux du côté des fonctions VB6...
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
27 juin 2007 à 23:34
Tu pourrais sauvegarder tes données au format CSV. Tu aurais alors les séparateurs pour te guider. Ce ne serait plus la colonne 39, mais le 4e item, disons.

Ou encore, tu crées ton fichier en mode Random après avoir créé un Type contenant les items que tu veux inscrire dans ton fichier.

MPi
0
nico2nico65 Messages postés 2 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 28 juin 2007
28 juin 2007 à 18:30
Bonsoir,

   Effectivement, en utilant  tab et le point virgule, ça fonctionne sur le test suivant :

    Open "C:\...\Hebergement" & numsem & ".txt" For Output As #1
    Print #1, "Facturation de la semaine"; Tab(39); numsem; Tab(55); "ca marche"
    Close #1

   Résultat obtenu dans le fichier texte :

 Facturation de la semaine              37             ca marche

Pour info :
    numsem est ma variable qui correspond au numéro de semaine 

    Merci beaucoup pour votre info et pour votre aide, je vais pouvoir me lancer dans la programmation
0
Rejoignez-nous