Merci,
J'ai déjà essayé ces codes, à titre d'exemple :
Sub Extraction_V2()
Dim Repertoire As String, Fichier As String
Dim strFullName As Variant
Dim Cn As Object, Rs As Object
'Sélection du ficher
strFullName = Application.GetOpenFilename("Fichiers textes (*.txt),*.txt", , _
"selectionner un fichier .txt :" )
'On sort si aucun fichier n'est sélectionné
If strFullName = False Then Exit Sub
Application.ScreenUpdating = False
Fichier = Dir(strFullName)
Repertoire = Left(strFullName, Len(strFullName) - (Len(Fichier) + 1))
'Connection
Set Cn = CreateObject("ADODB.Connection" )
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Repertoire & ";" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited"""
'Requete
Set Rs = CreateObject("ADODB.Recordset" )
Rs.Open "SELECT * FROM [" & Fichier & "]", Cn, 3, 1, 1
'boucle sur le résultat de la requete
While Not Rs.EOF
'Ajout Feuille
Worksheets.Add
'Ecriture des données dans la feuille
'65536 spécifie le nombre de lignes par feuille
ActiveSheet.Range("A1" ).CopyFromRecordset Rs, 65536
Wend
Rs.Close
Set Rs = Nothing
Cn.Close
Set Cn = Nothing
Application.ScreenUpdating = True
End Sub
Mais quand je lance ce code, il y a un message qui apparaît en disant : " Excel ne peut pas terminer cette tâche avec les ressources disponibles. Sélectionner moins de données ou fermer des applications."
Donc, quoi faire dans ce cas.
Je pense que le problème vient de la taille de fichier txt.!!!
personne pour m'aider?
Message édité par yalmallo le 04-04-2012 à 11:02:21