Excel vers fichier txt avec champs fixes

Kevin -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un fichier excel que je dois "transformer" en fichier txt.
Fichier excel avec quatre colonnes : numéro, nom, prénom, groupe

Mon fichier txt final doit resembler à ça :

[CARDXXXXX]
ACTION=NEW
BRANCH=
Initials=
Firstname=XXXXX
Name=XXXXX
PersonalNo=XXXXXXXXXXXXXXXX

Les champs XXX sont les champs variables exportés du fichier excel.

Quelqu'un a-t-il une solution ? Sinon je devrais tout faire un par un....

Merci d'avance.

2 réponses

  1. Daranc
     
    je ne comprends pas trop le problème
    en "enregistrant sous" , tu ne peut pas sélectionner le format TXT , normalement il y en a de plusieurs types.
    0
    1. Kevin
       
      Le problème n'est pas le format txt mais la mise en forme spécifique.
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Une proposition :
    Sub test()   
        '[CARDXXXXX]   
        'ACTION=NEW   
        'BRANCH=   
        'Initials=   
        'Firstname = XXXXX   
        'Name = XXXXX   
        'PersonalNo = XXXXXXXXXXXXXXXX   
        Dim numfich As Integer, lig As Long   
        numfich = FreeFile   
        Open "C:\tmp\test.txt" For Output As #numfich   
        For lig = 2 To [A65536].End(xlUp).Row   
            Print #numfich, "[CARD" & Right("00000" & Cells(lig, 1), 5) & "]" & vbCrLf;   
            Print #numfich, "ACTION=NEW" & vbCrLf;   
            Print #numfich, "BRANCH=" & Cells(lig, 4) & vbCrLf;   
            Print #numfich, "Initials= " & UCase(Left(Cells(lig, 2), 1) & Left(Cells(lig, 3), 1)) & vbCrLf;   
            Print #numfich, "Firstname = " & Cells(lig, 3) & vbCrLf;   
            Print #numfich, "Name = " & Cells(lig, 2) & vbCrLf;   
            Print #numfich, "PersonalNo = " & Right("00000" & Cells(lig, 1), 5) & vbCrLf;   
        Next lig   
        Close #numfich   
    End Sub   
    

    Le principe est là, il faut sans doute que tu adaptes ce que tu veux mettre exactement dans CARDXXXXX et PersonalNo, et j'ai supposé que BRANCH était le groupe.

    Le fichier test.txt est écrasé à chaque lancement de la macro, pense à préserver tes traitements antérieurs à conserver.

    exemple.xls
    eric
    0