Je suis sous Window XP, avec Excell 2000. Lorsque je=20
souhaite importer un fichier en .csv, je r=E9cup=E8re des=20
dates (dansla m=EAme colonne) sous format JJ/MM/AA et=20
MM/JJ/AAAA. Dans le panneau de configuration le format=20
est bien indiqu=E9 JJ/MM/AA. Qeulle peut =EAtre la raison de=20
ce dysfonctionnement et comment y rem=E9dier. Merci de=20
votre aide
Sub ouvrirfichiertexteetseparer() Dim separateur As String, i As Integer, f1 As Object Dim fso As Object, f As Object, laligne As String Const ForReading = 1 separateur = InputBox("Indiquez votre séparateur", _ "Choix du séparateur") lenom = "c:copieunbeaufichiertexte.txt" Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.GetFile(lenom) Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault) i = 1 Do While Not f.AtEndOfStream laligne = f.ReadLine laligne1 = Split(laligne, separateur) For j = 0 To UBound(laligne1) If InStr(laligne1(j), Chr(34)) = 1 Then laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1) End If If InStrRev(laligne1(j), Chr(34)) > 0 Then laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1) End If Cells(i, j + 1).Value = laligne1(j) Next i = i + 1 Loop f.Close End Sub
Sub ouvrirfichiertexteetseparer1() Dim separateur As String, i As Integer Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, f separateur = InputBox("Indiquez votre séparateur", "Choix du séparateur") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _ ForAppending, True) derniereligne = f.Line f.Close Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _ ForReading, TristateUseDefault) For i = 1 To derniereligne laligne = f.ReadLine If laligne > "" Then laligne1 = Split(laligne, separateur) For j = 0 To UBound(laligne1) If InStr(laligne1(j), Chr(34)) = 1 Then laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1) End If If InStrRev(laligne1(j), Chr(34)) > 0 Then laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1) End If Cells(i, j + 1).Value = laligne1(j) Next Else Exit For End If Next f.Close End Sub
"chn" a écrit dans le message de news:36a901c4aa29$ca0d8040$ Je suis sous Window XP, avec Excell 2000. Lorsque je souhaite importer un fichier en .csv, je récupère des dates (dansla même colonne) sous format JJ/MM/AA et MM/JJ/AAAA. Dans le panneau de configuration le format est bien indiqué JJ/MM/AA. Qeulle peut être la raison de ce dysfonctionnement et comment y remédier. Merci de votre aide
Sub ouvrirfichiertexteetseparer()
Dim separateur As String, i As Integer, f1 As Object
Dim fso As Object, f As Object, laligne As String
Const ForReading = 1
separateur = InputBox("Indiquez votre séparateur", _
"Choix du séparateur")
lenom = "c:copieunbeaufichiertexte.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(lenom)
Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault)
i = 1
Do While Not f.AtEndOfStream
laligne = f.ReadLine
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = laligne1(j)
Next
i = i + 1
Loop
f.Close
End Sub
Sub ouvrirfichiertexteetseparer1()
Dim separateur As String, i As Integer
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
separateur = InputBox("Indiquez votre séparateur", "Choix du
séparateur")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _
ForAppending, True)
derniereligne = f.Line
f.Close
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _
ForReading, TristateUseDefault)
For i = 1 To derniereligne
laligne = f.ReadLine
If laligne > "" Then
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = laligne1(j)
Next
Else
Exit For
End If
Next
f.Close
End Sub
"chn" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:36a901c4aa29$ca0d8040$a401280a@phx.gbl...
Je suis sous Window XP, avec Excell 2000. Lorsque je
souhaite importer un fichier en .csv, je récupère des
dates (dansla même colonne) sous format JJ/MM/AA et
MM/JJ/AAAA. Dans le panneau de configuration le format
est bien indiqué JJ/MM/AA. Qeulle peut être la raison de
ce dysfonctionnement et comment y remédier. Merci de
votre aide
Sub ouvrirfichiertexteetseparer() Dim separateur As String, i As Integer, f1 As Object Dim fso As Object, f As Object, laligne As String Const ForReading = 1 separateur = InputBox("Indiquez votre séparateur", _ "Choix du séparateur") lenom = "c:copieunbeaufichiertexte.txt" Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.GetFile(lenom) Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault) i = 1 Do While Not f.AtEndOfStream laligne = f.ReadLine laligne1 = Split(laligne, separateur) For j = 0 To UBound(laligne1) If InStr(laligne1(j), Chr(34)) = 1 Then laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1) End If If InStrRev(laligne1(j), Chr(34)) > 0 Then laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1) End If Cells(i, j + 1).Value = laligne1(j) Next i = i + 1 Loop f.Close End Sub
Sub ouvrirfichiertexteetseparer1() Dim separateur As String, i As Integer Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, f separateur = InputBox("Indiquez votre séparateur", "Choix du séparateur") Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _ ForAppending, True) derniereligne = f.Line f.Close Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:copieunbeaufichiertexte.txt", _ ForReading, TristateUseDefault) For i = 1 To derniereligne laligne = f.ReadLine If laligne > "" Then laligne1 = Split(laligne, separateur) For j = 0 To UBound(laligne1) If InStr(laligne1(j), Chr(34)) = 1 Then laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1) End If If InStrRev(laligne1(j), Chr(34)) > 0 Then laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1) End If Cells(i, j + 1).Value = laligne1(j) Next Else Exit For End If Next f.Close End Sub
"chn" a écrit dans le message de news:36a901c4aa29$ca0d8040$ Je suis sous Window XP, avec Excell 2000. Lorsque je souhaite importer un fichier en .csv, je récupère des dates (dansla même colonne) sous format JJ/MM/AA et MM/JJ/AAAA. Dans le panneau de configuration le format est bien indiqué JJ/MM/AA. Qeulle peut être la raison de ce dysfonctionnement et comment y remédier. Merci de votre aide