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.
Workbooks.OpenText (CheminTXT) & lefichierTXT _
, Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=True, Space:=False, Other:=False, 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), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array( _
41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1)) _
, TrailingMinusNumbers:=True
Résultat parfait qui restpece dates, décimales, milliers,....
Merci à tous, au Forum,
CAPRI_456