Here I've made a little bit change
I've tried to modified the name into English (I hope it's clear enough for you?), and add some functions to reduce the complicity of the whole Sub.
PrivatePublic Sub WriteNameInserer_Nom_Fich(Optional ByVal file As String)
ActiveCell.Value = filenom_de_Fich
ActiveCell.Offset(0, 1).Select
End Sub
PrivatePublic Sub ImportFileInserer_contenu(Optional ByVal file As String)
Dim Onefile As Long
Open file For Input As #1
Dim keyWord As String
keyWord = "Zone"
WriteName file
Dim Content As StringInserer_Nom_Fich
Do While Not EOF(12)
Line Input #1#2, Contentcontenu
'if it's not a new zone:
If InStr(Contentcontenu, keyWord) < 1 Then
ActiveCell = Contentcontenu
'if it's not:
'if it's aElse new zone
Else
'goto next row <<===========Here's the problem
ActiveCell.Offset(1, 0).Select
ActiveCell.End(xlToLeft).Select
WriteNameInserer_Nom_Fich
ActiveCell = Contentcontenu
End If
ActiveCell.Offset(0, 1).Select
Loop
'remove the last cell and goto next row <<=============Problem
ActiveCell.Offset(0, -1).Select
ActiveCell.ClearLoop
ActiveCell.Offset(1, 0).Select
ActiveCell.End(xlToLeft).Select
Close #1
End Sub