Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS=20
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier=20
ouvrir, le fichier s ouvre correctement le ; jouant le=20
role de s=E9parateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas=20
separation au niveau des ";" tout reste ds la m=EAme=20
colone ..
voici ma formule :
Workbooks.Open Filename:=3D _
"G:\Envergure\Salaires\BdD\Livre_Paie\LiP_03_01_GDA
.CSV", Format:=3D4
l option Format:=3D 4 (separateur ";" ) ne change rien
En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA
.CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
sebastien
non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
non en utilisant l enregistreur c est open
avec opentext cela ne marche pas, a priori le separateur
qui est pris en compte en passant par vba est le "."
test avec opentext non concluant :
Workbooks.OpenText Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA
.CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine-----
En utilisant l'enregistreur tu devrais avoir .OpenText et
pas .Open
John
"sebastien" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD
A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
John Fuss
J'utilise ça pour ouvrir des .asc en délimiteur ';' avec fichier contenant le chemin + le nom du fichier
"sebastien" a écrit dans le message de news:a33b01c3eb36$97106020$ non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
J'utilise ça pour ouvrir des .asc en délimiteur ';' avec fichier contenant
le chemin + le nom du fichier
"sebastien" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:a33b01c3eb36$97106020$a601280a@phx.gbl...
non en utilisant l enregistreur c est open
avec opentext cela ne marche pas, a priori le separateur
qui est pris en compte en passant par vba est le "."
test avec opentext non concluant :
Workbooks.OpenText Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA
.CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine-----
En utilisant l'enregistreur tu devrais avoir .OpenText et
pas .Open
John
"sebastien" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD
A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
"sebastien" a écrit dans le message de news:a33b01c3eb36$97106020$ non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
sebastien
c est bon Merci !
-----Message d'origine----- J'utilise ça pour ouvrir des .asc en délimiteur ';' avec fichier contenant
news:a33b01c3eb36$97106020$ non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_G D
A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
.
c est bon
Merci !
-----Message d'origine-----
J'utilise ça pour ouvrir des .asc en délimiteur ';' avec
fichier contenant
"sebastien" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:a33b01c3eb36$97106020$a601280a@phx.gbl...
non en utilisant l enregistreur c est open
avec opentext cela ne marche pas, a priori le separateur
qui est pris en compte en passant par vba est le "."
test avec opentext non concluant :
Workbooks.OpenText Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD
A
..CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine-----
En utilisant l'enregistreur tu devrais avoir .OpenText et
pas .Open
John
"sebastien" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_G
D
A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
news:a33b01c3eb36$97106020$ non en utilisant l enregistreur c est open avec opentext cela ne marche pas, a priori le separateur qui est pris en compte en passant par vba est le "."
test avec opentext non concluant : Workbooks.OpenText Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GD A
..CSV", DataType:=xlDelimited, Semicolon:=True
-----Message d'origine----- En utilisant l'enregistreur tu devrais avoir .OpenText et pas .Open
John
"sebastien" a écrit dans le message de
news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_G D
A
..CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
.
.
Clément Marcotte
Bonjour,
Pas besoin de passer par Fichier-Ouvrir.
Un truc avec FSO:
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 "sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
Bonjour,
Pas besoin de passer par Fichier-Ouvrir.
Un truc avec FSO:
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
"sebastien" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA
.CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
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 "sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
Clément Marcotte
Juste pour le fun, une autre version:
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
"Clément Marcotte" a écrit dans le message de news:
Bonjour,
Pas besoin de passer par Fichier-Ouvrir.
Un truc avec FSO:
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 "sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
quelqu un a t il une idée ? Merci beaucoup
Juste pour le fun, une autre version:
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
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le
message de news:OkWjOB16DHA.2560@TK2MSFTNGP09.phx.gbl...
Bonjour,
Pas besoin de passer par Fichier-Ouvrir.
Un truc avec FSO:
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
"sebastien" <anonymous@discussions.microsoft.com> a écrit dans le
message de news:9d3701c3eb2f$847c8850$a001280a@phx.gbl...
Bonjour,
J ai un soucis avec l ouverture d un fichier en .CVS
(separateur ";").
Lorsque je l ouvre manuellement par la commande fichier
ouvrir, le fichier s ouvre correctement le ; jouant le
role de séparateur.
Lorsque je l ouvre par une fonction VBA, il n y a pas
separation au niveau des ";" tout reste ds la même
colone ..
voici ma formule :
Workbooks.Open Filename:= _
"G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA
.CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien
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
"Clément Marcotte" a écrit dans le message de news:
Bonjour,
Pas besoin de passer par Fichier-Ouvrir.
Un truc avec FSO:
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 "sebastien" a écrit dans le message de news:9d3701c3eb2f$847c8850$ Bonjour, J ai un soucis avec l ouverture d un fichier en .CVS (separateur ";"). Lorsque je l ouvre manuellement par la commande fichier ouvrir, le fichier s ouvre correctement le ; jouant le role de séparateur. Lorsque je l ouvre par une fonction VBA, il n y a pas separation au niveau des ";" tout reste ds la même colone ..
voici ma formule : Workbooks.Open Filename:= _ "G:EnvergureSalairesBdDLivre_PaieLiP_03_01_GDA .CSV", Format:=4
l option Format:= 4 (separateur ";" ) ne change rien