Cependant, le résultat en XLS est décalé dans les colonnes . Cela est probablement du au contenu de certains champs CSV : a) qui reprennent par exemple un poids indiqué comme suit (4.762) (exemple Box,4.762, ZMU,,,FISHER) Il me répartit alors 4 dans une col et 762 dans la suivante cela augmente le nombre de colonnes dans XLS et provoque des décalages dans les autres lignes du tableur...
Comment remédier cela dans les paramètres d'OpenText ?
Re : Difficile de paramétrer OpenText lors d'un import CSV
bonjour Capri,Hasco,Mj,Pierrot
essaye ce code,testé
Sub ImportInfoTxt()
Dim wS As Worksheet
Set wS = Sheets("Import")
wS.Cells.ClearContents
Filename = Application.GetOpenFilename(filefilter:="Fichiers txt (*.txt), *.txt", Title:="Choisir le fichier txt")
If UCase(Filename) = "FAUX" Then
MsgBox "Opération annulée"
Exit Sub
End If
Set qtQtrResults = _
wS.QueryTables.Add(Connection:="TEXT;" & Filename, Destination:=wS.Cells(1, 1))
With qtQtrResults
.TextFileParseType = xlDelimited
.TextFileOtherDelimiter = "\"
.Refresh
End With
Re : Difficile de paramétrer OpenText lors d'un import CSV
Bonjour Le Forum,
Pierrot, MJA3 , HASCO,
J'ai tenté successivement vos propositions,
Il m'affiche toujours pour:
les poids 0002.452 (soit 2kgs 452 gr) ou les volumes 0000.192 (soit 0 M3 192 cm3)
2 dans une col et 452 dans celle qui suit
0 dans une col et 192 dans celle qui suit Il ne s'agit donc pas de décimales mais de séparateur de milliers
Je vais donc tester ThousandsSeparator:="."
et pour les montants 0000000123.75 (soit 123 € 75 cents) DecimalSeparator:="."
Cependant, je me demande comment excel va appliquer cela à l'une ou à l'autre colonne puisqu'il s'agit dans les deux cas du séparateur "."
Je vais tester... Ouuppps voilà que j'ai pas le temps d'assimiler avant le boulot que voilà notre ami Bebere qui s'est levé dès 05h43 (j'te dis pas) du mat pour me fournir une autre proposition.....
Re : Difficile de paramétrer OpenText lors d'un import CSV
Bonjour yeahou, Pierrot93, Mj13, Hasco, Bebere, le forum,
J'ai pour mon application utilisé "HENRY"(Henry Gistrair de Macrow), proporsée par MJ13comme suit :
A- CODE QUI renomme LES CSV en TXT lefichierCSV = Dir(CheminCSV) While lefichierCSV <> ""' s'il existe un fichier
If Right(lefichierCSV, 3) = "csv" Then' UNIQUEMENT SI CSV ' alors renomme CSV en TXT dans répertoire TXT
Name CheminCSV & "\" & lefichierCSV As CheminTXT & "\" & Left(lefichierCSV, Len(lefichierCSV) - 4) & ".TXT" End If lefichierCSV = Dir() ' pour affecter le nom de fichier suivant dans
Wend
'B === CODE QUI CONVERTIT LES TXT en XLS à l'ouverture
B1) recherche de fichiers dans un répertoire (sur le Forum)
Dim fs, f, f1, fc, s Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(CheminTXT) Set fc = f.Files
For Each f1 In fc If UCase(f1.Name) Like "*.TXT" Then
lefichierTXT = Dir(CheminTXT)
B2 -méthode "OPENTEXT"
Code obtenu grâce à "HENRY" qui permet de paramétrer les datas à l'importation.