decoupage fichier texte

fanic

XLDnaute Nouveau
Bonjour le forum,

Je souhaite ouvrir un fichier texte qui contient 100000 lignes sous excel.
J'ai trouvé un post qui propose une macro mais lorsque j'execute cette macro j'ai le message d'erreur: Erreur de syntaxe dans la clause FROM
concernant la ligne: oRS.Open "SELECT * FROM " & strFilename, oConn, 3, 1, 1

Pouvez vous m'indiquer ou se trouve l'erreur car je ne la trouve pas.
Merci d'avance.

Ci dessous le code complet:
Sub ImportLargeFile()
' Imports text file into Excel workbook using ADO.
' If the number of records exceeds 65536 then it splits it over more than one sheet.

Dim strFilePath As String, strFilename As String, vFullPath As Variant
Dim lngCounter As Long
Dim oConn As Object, oRS As Object, oFSObj As Object

' Get a text file name
vFullPath = Application.GetOpenFilename("Text Files (*.txt),*.txt", , "Please select text file...")

If vFullPath = False Then Exit Sub 'User pressed Cancel on the open file dialog
Application.ScreenUpdating = False

' This gives us a full path name e.g. C:\folder\file.txt
' We need to split this into path and file name
Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")
strFilePath = oFSObj.GetFile(vFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(vFullPath).Name

' Open an ADO connection to the folder specified
Set oConn = CreateObject("ADODB.CONNECTION")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFilePath & ";" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited"""

Set oRS = CreateObject("ADODB.RECORDSET")

' Now actually open the text file and import into Excel
oRS.Open "SELECT * FROM " & strFilename, oConn, 3, 1, 1
While Not oRS.EOF
Sheets.Add
ActiveSheet.Range("A1").CopyFromRecordset oRS, 65536
Wend
oRS.Close
oConn.Close
Application.ScreenUpdating = True
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : decoupage fichier texte

en effet, il y a parfois des codes sur le net sur le sujet mais beaucoup d'exemples de personnes qui mettent : ça marche pas chez moi.
si ça peut fonctionner, ça m'intéresse, mais ça ne t'aide pas beaucoup, j'en suis conscient ;)

je viens de tester chez moi et ton code semble fonctionner. peux-tu donner des précisions concernant ton fichier texte (séparateur)
 
Dernière édition:

MichelXld

XLDnaute Barbatruc
Re : decoupage fichier texte

bonsoir


Il manque les crochets pour encadrer le nom du fichier (la table) si celui ci contient des caractères spéciaux ou des espaces.

Code:
oRS.Open "SELECT * FROM [" & strFilename & "]", oConn, 3, 1, 1


bonne soirée
michel
Microsoft Excel MVP
 
Dernière édition:
G

Guest

Guest
Re : decoupage fichier texte

bonjour fanic,

Pour les connexion ado à des fichiers textes:

la connexion doit se faire sur le répertoire (dossier) qui contient les fichiers a traiter.

La clause From de la requêtes doit quand à elle faire référence au nom du fichier texte avec son extension.

Ce message d'erreur indique dans la plupart des cas que le fichier n'est pas trouvé.

Solution possible faire un débogage Pas à Pas de la macro pour vérifier le contenu des variables strFilePath et strFilename obtenus.

A bientôt
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 215
Messages
2 086 318
Membres
103 176
dernier inscrit
jean.yvesjean.yves