IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Champs fixes dans un fichier texte


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Points : 15
    Points
    15
    Par défaut Champs fixes dans un fichier texte
    Bonjour à toutes et tous

    Avec une commande exchange powershell, je génère un fichier csv avec la taille des boites, le nom, etc...
    Je veux le transformer en fichier txt, mais je voudrais que tous les champs possèdent la même longueur, un exemple sera plus clair

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Set BAL_TXT = objFSO.CreateTextFile("C:\Taille_Bal.txt",true)
     
    BAL_TXT.writeline "Nom de la Bal" & vbTab & "Taille de la Bal" & vbTab & "Nb messages" & vbtab & "Dernière connexion" & vbtab & "Dernière déconnexion" & vbCrLf
     
    Const ForReading = 1
    Set BAL_CSV = objFSO.OpenTextFile("C:\Taille_Bal.csv", ForReading)
     
    Do Until BAL_CSV.AtEndOfStream
     
            strNextLine = BAL_CSV.Readline
            FIELD_SEPARATOR = Split(strNextLine,",")
    	Name_Bal = FIELD_SEPARATOR(0)
    	Size_Bal = FIELD_SEPARATOR(1)
    	Item_Bal =FIELD_SEPARATOR(2)
    	Last_Logon = FIELD_SEPARATOR(3)
    	Last_Logoff = FIELD_SEPARATOR(4)
    	BAL_TXT.writeline Name_Bal & vbTab & Size_Bal & vbTab & Item_Bal & vbTab & Last_Logon & vbTab & Last_Logoff  
    Loop
    Mon fichier txt généré en sortie n'estpas tabulé à cause de la longueur variable des noms prénoms

    Nom de la Bal Taille de la Bal Nb messages Dernière connexion Dernière déconnexion

    Andre Dupont 9220847175B 65154 20/11/2008 19:03:58" "20/11/2008 19:19:50"
    Toto 404476046B 10791 "20/11/2008 08:50:12" "20/11/2008 16:45:20"
    Rene beranger 42289530B 405 "20/11/2008 10:03:43" "20/11/2008 18:40:45"

    En fait, je voudrais réserver par exemple 20 caracteres pour le nom de la bal, 15 pour la taille, etc... afin que tout soit aligné dans le fichier texte en sortie.

    Merci pour vos avis
    PB

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    20 caracteres pour le nom de la bal
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Bal = Space(20 - Len(Bal)) & Bal

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Points : 15
    Points
    15
    Par défaut Champs fixes dans un fichier texte
    Alors là, un grand merci. Du tonnerre.

    PB

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Points : 15
    Points
    15
    Par défaut Champs fixes dans un fichier texte
    Je sais, j'abuse certainement. La commande "space" place donc les espace à gauche, peut-on les avoir à droite ?

    PB

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Tu n'as qu'a inverser la concaténation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Bal = Bal & Space(20 - Len(Bal))

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Points : 15
    Points
    15
    Par défaut Champs fixes dans un fichier texte
    Encore merci pourtout.

    PB

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Alors, un petit clic sur le bouton "Résolu" !

Discussions similaires

  1. Modifier un champ dans un fichier texte
    Par Klyre dans le forum LabVIEW
    Réponses: 7
    Dernier message: 03/06/2015, 14h28
  2. récuperer champs dans un fichier texte
    Par koukou11 dans le forum Unix
    Réponses: 2
    Dernier message: 18/04/2011, 23h35
  3. modifier un champs d'un ligne selectionner dans une fichier texte
    Par darkman13130 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/06/2008, 12h00
  4. Lire des champs dans une fichier texte
    Par darkman13130 dans le forum C++Builder
    Réponses: 17
    Dernier message: 06/06/2008, 16h31
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo