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

Macros et VBA Excel Discussion :

Supprimer la dernière Ligne vide dans un fichier TXT


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Argentine

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Par défaut Supprimer la dernière Ligne vide dans un fichier TXT
    Salut à tous

    j'ai un fichier TXT

    nommé VIRM.txt

    et je voudrais bien effacer la dernier ligne vide

    et aussi positionne le curseur à la position 101

    a la dernière

    VIRM.TXTVIRM.TXT
    ligne ou se trouve le mot "FVIR"

    merci pour votre aide

    VIRM.TXTVIRM.TXT

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ninos06 Voir le message
    Bonjour,

    Pour tester, créez un onglet et indiquez son nom dans la procédure TestLireFichierTexte. Le code génère une copie du fichier txt.
    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
    45
    46
     
    Option Explicit
     
    Sub TestLireFichierTexte()
     
        LireFichierTexte "VIRM.TXT", Sheets("Feuil2")  ' Nom de l'onglet à adapter
     
    End Sub
     
    Sub LireFichierTexte(ByVal Fichier As String, ByVal ShTxt As Worksheet)
     
    Dim oFSO As Object, oFl As Object, oTxt As Object, F As Object
    Dim I As Integer, DerniereLigne As Long
    Dim CheminComplet As String
    Dim Aire As Range
     
        ShTxt.UsedRange.Clear
     
        CheminComplet = ActiveWorkbook.Path & "\" & Fichier   ' Répertoire à adapter.
     
        Set oFSO = CreateObject("Scripting.FileSystemObject")
        Set oFl = oFSO.GetFile(CheminComplet)
        Set oTxt = oFl.OpenAsTextStream(ForReading)
     
        With ShTxt
              I = 1
              While Not oTxt.AtEndOfStream
                    .Range("A" & I) = oTxt.readline
                    If I = 1 Then .Range("A" & I) = "000" & Mid(.Range("A" & I), 5)
                    I = I + 1
              Wend
              DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row - 2
              Set Aire = .Range(.Cells(1, 1), .Cells(DerniereLigne, 1))
        End With
     
     
        Set F = oFSO.CreateTextFile(ActiveWorkbook.Path & "\" & Fichier & " Copie", True)
        For I = 1 To Aire.Count
                  F.write Aire(I).Value & vbNewLine
        Next I
        F.Close
     
        Set Aire = Nothing
        Set oFSO = Nothing: Set oFl = Nothing:  Set oTxt = Nothing: Set F = Nothing
     
    End Sub

  3. #3
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 568
    Par défaut
    bonsoir,
    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
    Sub test()
    Const F As String = "C:\Myrep\VIRM.TXT"
    NewFichierTxt F, Trim(Split(Trim(OuvrirFichier(F)) & vbCrLf & "FVIR", vbCrLf & "FVIR")(0))
    End Sub
     
    Private Sub NewFichierTxt(Fichier, Txt As String)
    Dim FSO, NewFichier
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set NewFichier = FSO.OpenTextFile(Fichier, 2, True)
    NewFichier.Write Txt
    NewFichier.Close
    Set NewFichier = Nothing
    Set FSO = Nothing
    End Sub
    Public Function OuvrirFichier(Fichier As String) As String
    Set oFs = CreateObject("Scripting.FileSystemObject")
    Set oFile = oFs.OpenTextFile(Fichier)
    OuvrirFichier = oFile.ReadAll
    oFile.Close
    End Function

Discussions similaires

  1. [XL-2007] Supprimer la dernière ligne vide d'un fichier txt avec vba
    Par nyepalo dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/06/2015, 09h31
  2. Supprimer des lignes vides dans un fichier
    Par Cj_Dal dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/07/2013, 20h58
  3. Supprimer la dernière ligne vide d'un fichier txt
    Par petit rabot dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/12/2011, 12h15
  4. [LV2009] Supprimer les lignes vides dans un fichier texte
    Par Super2006 dans le forum LabVIEW
    Réponses: 3
    Dernier message: 11/11/2011, 14h32
  5. Supprimer une ligne vide dans un fichier texte
    Par Tibà22 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/04/2011, 16h58

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