OVH Cloud OVH Cloud

Import csv sous Excel 2002

4 réponses
Avatar
Sandrine
Bonjour=20

A n'y rien comprendre, j'ex=E9cute une macro d'import d'un=20
fichier csv sous excel 97 tout est ok, c'est a dire que=20
chaque champ est dans une colonne par contre la meme macro=20
sous excel 2002, le fichier csv s'ouvre mais n'est pas mis=20
en forme !!!Voici la macro qui est identique qu'elle soit=20
g=E9n=E9r=E9 sous excel 97 ou 2002...

Workbooks.OpenText FileName:=3D _
.FoundFiles(1) _
, Origin:=3DxlWindows, StartRow:=3D1, DataType:=3DxlDelimited,=20
TextQualifier _
:=3DxlDoubleQuote, ConsecutiveDelimiter:=3DFalse, Tab:=3DFalse,=20
Semicolon:=3D _
True, Comma:=3DFalse, Space:=3DFalse, Other:=3DFalse,=20
FieldInfo:=3DArray(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1),=20
Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),=20
Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array
(19, 1), Array(20, 1))

4 réponses

Avatar
Hervé Branchu
Bonjour Sandrine

Dans la version 2002 sur la commande opentext
il y a un parametre complementaire
le parametre local
Essayer de passer ce parametre à true

--
Bonne journée
=================================================== Hervé Branchu, Sitel France pour l'Assistance Utilisateur Microsoft


"Sandrine" a écrit dans le message de news: 136c101c3f795$92198680$
Bonjour

A n'y rien comprendre, j'exécute une macro d'import d'un
fichier csv sous excel 97 tout est ok, c'est a dire que
chaque champ est dans une colonne par contre la meme macro
sous excel 2002, le fichier csv s'ouvre mais n'est pas mis
en forme !!!Voici la macro qui est identique qu'elle soit
généré sous excel 97 ou 2002...

Workbooks.OpenText FileName:= _
.FoundFiles(1) _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:= _
True, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1),
Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),
Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array
(19, 1), Array(20, 1))
Avatar
stéphanie
Très bien ca marche (mais par contre ca marche plus sur
excel 97), mais je en sais pas pourquoi et surtout a quoi
sert ce paramètre

merci beaucoup
steph

-----Message d'origine-----
Bonjour Sandrine

Dans la version 2002 sur la commande opentext
il y a un parametre complementaire
le parametre local
Essayer de passer ce parametre à true

--
Bonne journée
======================== ========================= ===
Hervé Branchu, Sitel France pour l'Assistance Utilisateur
Microsoft



"Sandrine" a écrit
dans le message de news: 136c101c3f795$92198680

$
Bonjour

A n'y rien comprendre, j'exécute une macro d'import d'un
fichier csv sous excel 97 tout est ok, c'est a dire que
chaque champ est dans une colonne par contre la meme macro
sous excel 2002, le fichier csv s'ouvre mais n'est pas mis
en forme !!!Voici la macro qui est identique qu'elle soit
généré sous excel 97 ou 2002...

Workbooks.OpenText FileName:= _
..FoundFiles(1) _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:= _
True, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1),
Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),
Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array
(19, 1), Array(20, 1))

.



Avatar
Clément Marcotte
Bonjour,

Juste à ne pas passer par les fonctionnalités internes d'Excel.

Pour Ouvrir un fichier texte sans passer par Fichier - Ouvrir et
répartir les données dans chaque colonne:


Sun 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


"Sandrine" a écrit dans le
message de news:136c101c3f795$92198680$
Bonjour

A n'y rien comprendre, j'exécute une macro d'import d'un
fichier csv sous excel 97 tout est ok, c'est a dire que
chaque champ est dans une colonne par contre la meme macro
sous excel 2002, le fichier csv s'ouvre mais n'est pas mis
en forme !!!Voici la macro qui est identique qu'elle soit
généré sous excel 97 ou 2002...

Workbooks.OpenText FileName:= _
.FoundFiles(1) _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:= _
True, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1),
Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),
Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array
(19, 1), Array(20, 1))
Avatar
Hervé Branchu
Bonjour Stephanie

On peut imagine un test sur la version de l'application
application.version
et en fonction du resultat
utiliser l'une ou l'autre des syntaxes

--
Bon Week-end
=================================================== Hervé Branchu, Sitel France pour l'Assistance Utilisateur Microsoft


"stéphanie" a écrit dans le message de news: 1336001c3f7c0$b84ea850$
Très bien ca marche (mais par contre ca marche plus sur
excel 97), mais je en sais pas pourquoi et surtout a quoi
sert ce paramètre

merci beaucoup
steph

-----Message d'origine-----
Bonjour Sandrine

Dans la version 2002 sur la commande opentext
il y a un parametre complementaire
le parametre local
Essayer de passer ce parametre à true

--
Bonne journée
=================================================== >Hervé Branchu, Sitel France pour l'Assistance Utilisateur
Microsoft



"Sandrine" a écrit
dans le message de news: 136c101c3f795$92198680

$
Bonjour

A n'y rien comprendre, j'exécute une macro d'import d'un
fichier csv sous excel 97 tout est ok, c'est a dire que
chaque champ est dans une colonne par contre la meme macro
sous excel 2002, le fichier csv s'ouvre mais n'est pas mis
en forme !!!Voici la macro qui est identique qu'elle soit
généré sous excel 97 ou 2002...

Workbooks.OpenText FileName:= _
..FoundFiles(1) _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:= _
True, Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1),
Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),
Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array
(19, 1), Array(20, 1))

.