Ecrire dans un fichier texte sur une colonne précise

Résolu
Signaler
Messages postés
2
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
28 juin 2007
-
Messages postés
2
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
28 juin 2007
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour,

Utilise write, tab et le point virgule.
Messages postés
168
Date d'inscription
jeudi 28 juin 2001
Statut
Membre
Dernière intervention
18 octobre 2008
7
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...
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
2
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
28 juin 2007

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