"casa" <ca...@discussions.microsoft.com> a écrit dans le message de
news:D65E076B-B34C-47AE...@microsoft.com...
Idem sous Excel2002. On peut peut-etre passer par Open fichier As ... ?
j-p
Daniel MVP Excel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm
"casa" <ca...@discussions.microsoft.com> a écrit dans le message de news:
D65E076B-B34C-47AE...@microsoft.com...
--
VBAXL
Exemples de procédures Visual Basic pour Excel
http://dj.joss.free.fr
"casa" <ca...@discussions.microsoft.com> a écrit dans le message de news:
D65E076B-B34C-47AE...@microsoft.com...
Pour Excel 97 et +, à cause de la fonction Split(), inconnue avec
Excel 97
Sub ouvriffichiertexterecalcitrant97()
Dim fso As Object, fichier As Object, laligne As String
Dim lefichier As Object, position As Integer
Dim i As Long, j As Integer
Set fso = CreateObject("scripting.filesystemobject")
Set fichier = fso.GetFile("c:\mes documents\fichier.csv")
Set lefichier = fichier.openastextstream(forreading)
i = 1
Do While Not lefichier.AtEndOfStream
laligne = lefichier.ReadLine
j = 1
Do While Len(laligne) > 0
position = InStr(laligne, ";")
If position = 0 Then
Cells(i, j).Value = laligne
laligne = ""
Else
Cells(i, j).Value = Left(laligne, position - 1)
laligne = Right(laligne, Len(laligne) - position)
j = j + 1
End If
Loop
i = i + 1
Loop
End Sub
Pour Excel 2000 +
Sub ouvriffichiertexterecalcitrant()
Dim fso As Object, fichier As Object, laligne
Dim lefichier As Object, ligneseparee
Dim i As Long, j As Integer
Set fso = CreateObject("scripting.filesystemobject")
Set fichier = fso.GetFile("c:\mes documents\fichier.csv")
Set lefichier = fichier.openastextstream(forreading)
i = 1
Do While Not lefichier.AtEndOfStream
laligne = lefichier.ReadLine
ligneseparee = Split(laligne, ";")
For j = 0 To UBound(ligneseparee)
Cells(i, j + 1).Value = ligneseparee(j)
Next
i = i + 1
Loop
End Sub
"casa" <ca...@discussions.microsoft.com> a écrit dans le message de
news:D65E076B-B34C-47AE...@microsoft.com...