Sub test()
Dim i&, j&, FSO As Object, Fichier As Object, TMP
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Fichier = FSO.OpenTextFile(ThisWorkbook.Path & "\Exemple.txt")
Application.ScreenUpdating = False
Sheets.Add Before:=Sheets(1)
With ActiveSheet
Do
If InStr(Fichier.ReadLine, "!") > 0 Then
TMP = Split(Fichier.ReadLine, "!")
If UBound(TMP) > 0 Then
If Trim(TMP(1)) <> "" And Left(Trim(TMP(1)), 1) <> "*" Then
If Not CStr(Left(Trim(TMP(1)), 1)) Then
i = i + 1
.Cells(i, 1).Value = TMP(1)
For j = 2 To UBound(TMP)
If Trim(TMP(j)) <> "" Then
.Cells(i, j).Value = CDbl(Replace(TMP(j), ".", ","))
End If
Next j
End If
End If
End If
End If
Loop While Not Fichier.AtEndOfStream
.Columns.AutoFit
End With
Application.ScreenUpdating = True
End Sub