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

VB 6 et antérieur Discussion :

Créer un fichier sur une ligne à partir d'un fichier séquentiel


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut Créer un fichier sur une ligne à partir d'un fichier séquentiel
    Bonjour,
    j'aimerai mettre le contenu d'un fichier séquentiel :
    dans un fichier sur une seule ligne: Comment faire?
    Merci.

  2. #2
    Membre actif
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Points : 209
    Points
    209
    Par défaut
    ___Ia ora na.
    ___Soit T0 le contenu initial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function SurUneLigne(T0 As String) As String
    SurUneLigne = Replace(T0, vbCrLf, ";")
    End Function
    ___vbCrLf peut être remplacé par vbNewLine, vbCr & vbLf ou Chr(13) & Chr(10).
    ___Bonne suite de votre travail.

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    en utilisant la fonction posté par XylonAkau
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Option Explicit
    Dim ws,fichier,fichierSortie
    fichier = "test.txt"
    fichierSortie = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    Set ws = CreateObject("wscript.Shell")
    WriteLog SurUneLigne(Lire(fichier))
    MsgBox SurUneLigne(Lire(fichier)),64,"SurUneLigne"
    ws.run fichierSortie
     
    Function Lire(fichier)
    Dim fso,fRead,fWrite,Text
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	If Not fso.FileExists(fichier) Then
    	    MsgBox "Attention : Le Fichier " & fichier & " n'existe pas",16,"Erreur de Lecture du fichier"
    		Wscript.Quit
    	End If	
    	Set fRead = fso.OpenTextFile(fichier,1)
    	Text = fRead.ReadAll
    	fRead.Close
    	Lire = Text
    end function
     
    Function SurUneLigne(data)
    SurUneLigne = Replace(data,vbCrLf,";")
    End Function
     
    Sub WriteLog(strText)
    	Dim fs,ts 
    	Const ForAppending = 8
    	Set fs = CreateObject("Scripting.FileSystemObject")
    	If fs.FileExists(fichierSortie) Then fs.DeleteFile(fichierSortie) 
    	Set ts = fs.OpenTextFile(fichierSortie,ForAppending,True)
    	ts.WriteLine strText
    	ts.Close
    End Sub

  4. #4
    Membre actif
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Points : 209
    Points
    209
    Par défaut
    ___Ia ora na.
    ___S'agissant du reste, j'avais prévu d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim T0 As String, NF As Integer
    NF = FreeFile
    Open "MonFic_SautDeLigne.txt" For Binary As NF: T0 = Space$(LOF(NF)): Get #1, , T0: Close NF
    Open "MonFic_SurUneLigne.txt" For Binary As NF: Put #NF, , SurUneLigne(T0): Close NF
    ___Ou, pour une lecture séquentielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim T0 As String, NF As Integer, L As String
    NF = FreeFile
    Open "MonFic_SautDeLigne.txt" For Input As NF
    Do Until EOF(NF)
      Line Input #NF, L: T0 = T0 & L & ";"
    Loop
    Close NF: T0 = Left(T0, Len(T0) - 1)  '<- éventuellement, enlever le dernier ;
    Open "MonFic_SurUneLigne.txt" For Output As NF: Print #NF, T0: Close NF
    ___Mais c'était plus rudimentaire.
    ___Bonne continuation.

Discussions similaires

  1. Couper un fichier sur une ligne précise
    Par boobz79 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/09/2013, 11h07
  2. Réponses: 4
    Dernier message: 13/03/2013, 06h48
  3. Remplacer une ligne texte d'un fichier par une autre
    Par lecteur1001 dans le forum MATLAB
    Réponses: 6
    Dernier message: 01/08/2011, 13h39
  4. Réponses: 3
    Dernier message: 23/07/2009, 13h11
  5. compter sur une ligne à partir de derniere cellule non vide
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/04/2009, 18h23

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