Sub Import()
Dim fichier$, nlig&, ncol%, w As Worksheet, a(), texte$, s, i&, j%, n&
fichier = ThisWorkbook.Path & "\Fichier Texte.txt" 'à adapter
nlig = 100 '1048576
ncol = 10 'nombre maximum de colonnes
'---suppression des feuilles---
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each w In Worksheets
If w.Index > 1 Then w.Delete
Next w
Worksheets(1).Cells.ClearContents 'RAZ
'---traitement séquentiel du fichier Texte et transferts---
ReDim a(1 To nlig, 1 To ncol)
Open fichier For Input As #1 'accès au fichier
Do While Not EOF(1) 'End Of File: fin du fichier
Line Input #1, texte 'récupère la ligne
s = Split(texte, vbTab) 'séparateur tabulation
i = i + 1
For j = 0 To UBound(s)
a(i, j + 1) = s(j)
Next j
If i = nlig Then 'décharge
If n Then Set w = Sheets.Add(After:=Sheets(Sheets.Count)) Else Set w = Worksheets(1)
n = n + 1
w.Name = "Import " & n
w.Cells(1).Resize(nlig, ncol) = a
w.Columns.AutoFit 'ajustement largeurs
ReDim a(1 To nlig, 1 To ncol)
i = 0
End If
Loop
Close #1 'fermeture du fichier
'---dernier transfert
If i Then
If n Then Set w = Sheets.Add(After:=Sheets(Sheets.Count)) Else Set w = Worksheets(1)
n = n + 1
w.Name = "Import " & n
w.Cells(1).Resize(i, ncol) = a
w.Columns.AutoFit 'ajustement largeurs
End If
Worksheets(1).Activate
End Sub