D'après ce que je comprends du résultat recherché, j'ai pondu un petit quelque chose.
Bon, d'accord c'est plus long que ce que tu avais fait mais c'est nettement plus souple et plus universel.
Dans le userform, je mets le code suivant:
Private Sub cmdGo_Click()
Dim iInputFile As Integer
Dim sTextFile As String
Dim sTmp As String
Dim vArray As Variant
Dim vI As Variant
sTextFile = "D:\My Documents\Excel\Forum\TestPourExcel.txt"
lst1.Clear
iInputFile = FreeFile()
Open sTextFile For Input As iInputFile
While Not EOF(iInputFile)
Line Input #iInputFile, sTmp
vArray = Split(sTmp, "|" )
For Each vI In vArray
lst1.AddItem (vI)
Next vI
Wend
Close iInputFile
End Sub |
J'ai pris la liberté de définir le séparateur "|" en voyant que tu l'avais nommé sPipe.
Au cas où tu travaillerais encore sous Office 97, j'ai recréé la fonction (ou méthode) Split de VBS (ou JScript).
Function Split(sLine As String, sSep As String) As Variant
Dim aRet() As String
Dim iI As Integer
Dim iLen As Integer
Dim sBuff As String
Dim sChar As String
ReDim aRet(0)
iLen = Len(sLine)
sBuff = ""
For iI = 1 To iLen
sChar = Mid$(sLine, iI, 1)
If sChar = sSep Then
aRet(UBound(aRet)) = sBuff
sBuff = ""
ReDim Preserve aRet(UBound(aRet) + 1)
ElseIf iI = iLen Then
sBuff = sBuff & sChar
aRet(UBound(aRet)) = sBuff
Else
sBuff = sBuff & sChar
End If
Next iI
Split = aRet
End Function |
J'espère que ça fait ce que tu veux.
Edit --> Remplacement de SplitText par Split et commentaire pour les utilisateurs de Office 97.
Message édité par AlainTech le 20-05-2005 à 00:39:55
---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!