Supprimer première ligne d'un fichier .txt

Bonjour le forum,

J'importe les données d'un fichier .txt dans un Excel.

Contrainte : Je dois supprimer manuellement la première ligne du fichier .txt avant de lancer l'extraction.

Auriez-vous une idée pour modifier mon code ci-dessous et me permettre d'effacer la ligne directement dans la macro ?

Sub import()
Dim dialogueBox As FileDialog
Dim selectedFile As String
Dim rowNumber As Long
Dim lineFromFile As String
Dim lineItems As Variant
Dim itteration As Integer

Set dialogueBox = Application.FileDialog(msoFileDialogFilePicker)

With dialogueBox 'ouvre une boite de dialgue Windows permettant de choisir son fichier .txt
    .Filters.Add "TXT", "*.TXT", 1
    .AllowMultiSelect = False
If .Show = True Then
    selectedFile = .SelectedItems(1)
    Debug.Print selectedFile
Else
    Exit Sub
End If
End With

If selectedFile <> "" Then 'vérifie si le fichier est vide
    Open selectedFile For Input As #1 'ouvre le fichier txt

rowNumber = 1 'initialise la variable permettant d'incrémenter le nombre de ligne

    Do Until EOF(1) 'tant que le fichier txt n'est pas finie
        Line Input #1, lineFromFile 
        lineItems = Split(lineFromFile, ";") 'créer une liste 
        For itteration = 0 To 4 'pour 4 colonnes
            ThisWorkbook.Worksheets("Feuil1").Range("Import_txt").Cells(rowNumber, itteration + 1) = lineItems(itteration) 'importer la liste dans le fichier excel
         Next
         rowNumber = rowNumber + 1
    Loop
    Close #1
Else
    MsgBox "Fichier vide !"
End If
End Sub

Si vous voulez un fichier exemple, n'hésitez pas !

Merci par avance,

@+

Bonjour, peut être tout simple en commençant à la ligne 2 au lieu de commencer à la ligne 1

rowNumber = 1 'initialise la variable permettant d'incrémenter le nombre de ligne

Je l'ai mal précisé. La variable RowNumber définit les numéros de lignes de la feuille Excel.

Donc si je met RowNumber = 2. Il va copier mes données du fichier .txt et les coller à partir de la seconde ligne dans le fichier Excel.

Oui un fichier text en exemple pour lancer la macro en pas à pas ce serait bien.

Ci-joint 3 fichiers :

- 1 fichier .txt avec la ligne gênante au début pour montrer l'erreur.

- 1 fichier .txt sans la première ligne (supprimer manuellement).

- 1 fichier Excel avec la macro.

En espérant que ca puisse aider à comprendre.

@+

8avec-ligne.zip (118.15 Ko)
5sans-ligne.zip (118.03 Ko)

Bonjour à tous,

un essai réalisé avant la fourniture du fichier txt :

Open selectedFile For Input As #1 'ouvre le fichier txt

rowNumber = 0 'initialise la variable permettant d'incrémenter le nombre de ligne

Do Until EOF(1) 'tant que le fichier txt n'est pas finie
    Line Input #1, lineFromFile 'on lit la ligne du fichier
    If rowNumber > 0 Then 'à la première itération on n'écrit pas dans le classeur puisque rowNumber =0
        lineItems = Split(lineFromFile, ";") 'créer un tableau (array)
        Range("A" & rowNumber).Resize(1, UBound(lineItems)+1) = lineItems
    End If
    rowNumber = rowNumber + 1
Loop
Close #1

A+

Edit:

si on ne veut récupérer que 4 colonnes :

'remplacer
Range("A" & rowNumber).Resize(1, UBound(lineItems) + 1) = lineItems

'par
Range("A" & rowNumber).Resize(1, 4) = lineItems

Bonjour à vous deux, le forum,

Je n'avais pas pensé à mettre un If pour ne pas écrire la première itération. J'ai vérifié et ça fonctionne parfaitement !

Merci de votre aide.

Bien cordialement

@+

Rechercher des sujets similaires à "supprimer premiere ligne fichier txt"