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 :

Modification d'un Code VB6 lecture/ecriture fichier texte vers VBScript


Sujet :

VBScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut Modification d'un Code VB6 lecture/ecriture fichier texte vers VBScript
    Bonjour,

    BBil a été extrement patient et serviable qu'il m'a écrit un script que j'ai absolument besoin. Hors app il est en VB et j'en aurais besoin en VBscript.
    Et c'est ici que je dois être allors

    Pourriez-vous m'aider à le transformer ?
    BAV tous ,

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Option Explicit
    Sub ConvertiFichier()
    Dim f As Integer
    Dim stRep As String
    Dim stFichierSource As String
    Dim stFichierDest As String
    Dim stLigne1 As String
    Dim stLigne2 As String
    Dim st As String
    Dim tbLg
    Dim tb
    Dim i As Integer
    stRep = "c:\tmp\" 'Répertoire de travail
     
    stFichierSource = "avant_test_144503.log.txt"
    stFichierDest = "apres.txt"
    f = FreeFile
    Open stRep & stFichierSource For Input As #f 'Ouverture fichier source
    While Not EOF(f)
      Line Input #f, st 'Lecture d'une ligne
      'Finalement .. ligne input lit tous le fichier car les lignes
      'ne comporte que le carcatére 10 en fin (pas de retour chariot 13..)
      ' découpage de la chaine en lignes...
      tbLg = Split(st, Chr(10))
      For i = 0 To UBound(tbLg) 'parcours les lignes
        tb = Split(tbLg(i), Chr(&H1C))
        If (UBound(tb) >= 2) Then
            stLigne1 = stLigne1 & tb(0) & vbTab
            stLigne2 = stLigne2 & tb(2) & vbTab
        End If
      Next i
     
    Wend
    Close #f
    f = FreeFile
    'Ouverture fichier destination en ecriture le fichier existant sera écrasé..
    Open stRep & stFichierDest For Output As #f
     Print #f, stLigne1
     Print #f, stLigne2
     
    Close #f
     
    End Sub

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Comme je suis dans un bon jour, qu'il est tôt et que je n'ai pas encore commencé mon boulot, voici un peu de code:
    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
    Dim stFichierDest
    Dim stLigne1
    Dim stLigne2
    Dim st
    Dim tbLg
    Dim tb
    Dim i
    Const ForReading = 1
    Const ForWriting = 2
    Const ForAppending = 8
     
    stRep = "c:\tmp\" 'Répertoire de travail
    stFichierSource = "avant_test_144503.log.txt"
    stFichierDest = "apres.txt"
    Set FSO = CreateObject("Scripting.FileSystemObject") 
    Set oFichier = FSO.OpenTextFile(stRep & stFichierSource, ForReading, True) 
    st = oFichier.ReadAll 
    oFichier.Close 
     
    tbLg = Split(st, Chr(10))
    For i = 0 To UBound(tbLg) 'parcours les lignes
      tb = Split(tbLg(i), Chr(&H1C))
      If (UBound(tb) >= 2) Then
        stLigne1 = stLigne1 & tb(0) & vbTab
        stLigne2 = stLigne2 & tb(2) & vbTab
      End If
    Next
     
    Set oFichier = FSO.OpenTextFile(stRep & stFichierDest, ForWriting, True) 
    oFichier.WriteLine(stLigne1)
    oFichier.WriteLine(stLigne2)
    oFichier.Close
    Je ne garantis, ni que ce soit parfait, ni que ça fasse exactement ce que tu veux mais, au moins, il n'y a pas de message d'erreur.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Encore une fois excellent.
    Un immense merci à vous tous.
    Il faut encore que je vérifie si le résultat est le bon, mais visuellement cela à l'aire !

    Cool

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E]Lecture ecriture fichier texte
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/04/2007, 05h46
  2. [lecture/ecriture] fichier excel
    Par ethno dans le forum C
    Réponses: 4
    Dernier message: 14/04/2006, 19h47
  3. php: lecture ecriture fichier
    Par kda007 dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2006, 18h49
  4. [AS2] Lecture Ecriture Fichier Texte
    Par cpr0 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 13/09/2005, 11h22
  5. [LG]Lecture-ecriture fichier
    Par arno15 dans le forum Langage
    Réponses: 19
    Dernier message: 03/02/2005, 22h25

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