Private Sub CommandButton1_Click()
If Range("B2") = "" Then MsgBox "Pas de selection": Exit Sub
Dim chemin As String, nom As String, ligne As String, fichier As String
Dim lig As Integer, col As Integer, drapeau As Boolean
Dim test As String: test = UCase(Range("B2"))
' Ouverture du fichier Txt
' chemin = ThisWorkbook.Path ' le chemin est celui du classeur sinon le changer et peut etre le mettre dans une cellule
'nom = "applic" ' le nom du fichier, si ce n'est pas toujurs le meme, le mettre dans une cellule
'fichier = chemin & "\" & nom & ".txt"
fichier = ThisWorkbook.Path & "\applic.txt"
Open fichier For Input As #1 ' ouverture du fichier en mode lecture
' Boucle jusqu'à la fin du fichier
col = 3: drapeau = False
While Not EOF(1)
col = col + 1
Line Input #1, ligne ' on lit la ligne entiere sans tenir compte des separateurs
If InStr(ligne, "[") > 0 Then ' on cherche le caractere de definition de tache
lig = Val(Mid(ligne, InStr(ligne, "_") + 1, InStr(ligne, "]") - (InStr(ligne, "_") + 1))) ' recupere la ligne pour mettre la tache en face
drapeau = True ' on peut maintenant ecrire les lignes du fichier
col = 3 ' on reinitialise les colonnes
[COLOR="Red"][B] Cells(lig + 1, 1) = Mid(ligne, InStr(ligne, "[") + 1, InStr(ligne, "]") - (InStr(ligne, "[") + 1))
cells(lig + 1,3) = left(ligne,instr(ligne,"[") - 1))[/B][/COLOR]
GoTo suite ' on ne prend pas cette ligne
End If
If drapeau = True Then Cells(lig + 1, col) = ligne ' on affecte le texte à la ligne et une ligne par colonne
suite:
Wend
Close #1
End Sub