J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car il est
trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes données
complètes? Merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
un exemple non pas d'ouverture mais d'importation de données dans un ficheir Excel lorsque le fichier source fait plus den 65536 lignes. A adapter à ton problème
Sub ImportLargeFile()
'Imports un fichier texte dans Excel en utilsant ADO. si le nbre de lignes excede 65536, crée une feuille supplémentaire.
Dim strFilePath As String, strFilename As String, strFullPath As String Dim lngCounter As Long Dim oConn As Object, oRS As Object, oFSObj As Object
'Get a text file name strFullPath = Application.GetOpenFilename("Text Files (*.txt),*.txt", , "Selectionner le fichier...")
If strFullPath = "False" Then Exit Sub 'Utilisateur a préssé Cancel dasn la boite de dialogue Application.ScreenUpdating = False
'Dtéremine le path et le nom du fichier Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")
'Ouvre une connection vers le répertoire spécifié Set oConn = CreateObject("ADODB.CONNECTION") oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strFilePath & ";" & _ "Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Set oRS = CreateObject("ADODB.RECORDSET")
'ouvre le fichier et importe dasn 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
A+
J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car il est trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes données complètes? Merci.
bonjour,
un exemple non pas d'ouverture mais d'importation de données dans un ficheir
Excel lorsque le fichier source fait plus den 65536 lignes.
A adapter à ton problème
Sub ImportLargeFile()
'Imports un fichier texte dans Excel en utilsant ADO.
si le nbre de lignes excede 65536, crée une feuille supplémentaire.
Dim strFilePath As String, strFilename As String, strFullPath As String
Dim lngCounter As Long
Dim oConn As Object, oRS As Object, oFSObj As Object
'Get a text file name
strFullPath = Application.GetOpenFilename("Text Files (*.txt),*.txt", ,
"Selectionner le fichier...")
If strFullPath = "False" Then Exit Sub 'Utilisateur a préssé Cancel dasn la
boite de dialogue
Application.ScreenUpdating = False
'Dtéremine le path et le nom du fichier
Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")
'Ouvre une connection vers le répertoire spécifié
Set oConn = CreateObject("ADODB.CONNECTION")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFilePath & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Set oRS = CreateObject("ADODB.RECORDSET")
'ouvre le fichier et importe dasn 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
A+
J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car il est
trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes données
complètes? Merci.
un exemple non pas d'ouverture mais d'importation de données dans un ficheir Excel lorsque le fichier source fait plus den 65536 lignes. A adapter à ton problème
Sub ImportLargeFile()
'Imports un fichier texte dans Excel en utilsant ADO. si le nbre de lignes excede 65536, crée une feuille supplémentaire.
Dim strFilePath As String, strFilename As String, strFullPath As String Dim lngCounter As Long Dim oConn As Object, oRS As Object, oFSObj As Object
'Get a text file name strFullPath = Application.GetOpenFilename("Text Files (*.txt),*.txt", , "Selectionner le fichier...")
If strFullPath = "False" Then Exit Sub 'Utilisateur a préssé Cancel dasn la boite de dialogue Application.ScreenUpdating = False
'Dtéremine le path et le nom du fichier Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")
'Ouvre une connection vers le répertoire spécifié Set oConn = CreateObject("ADODB.CONNECTION") oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strFilePath & ";" & _ "Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Set oRS = CreateObject("ADODB.RECORDSET")
'ouvre le fichier et importe dasn 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
A+
J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car il est trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes données complètes? Merci.
Clément Marcotte
http://frederic.sigonneau.free.fr
"olivieracco" a écrit dans le message de news:
J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car il est
trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes données
complètes? Merci.
http://frederic.sigonneau.free.fr
"olivieracco" <olivieracco@discussions.microsoft.com> a écrit dans le
message de news:95AE4717-258F-4AF3-BF00-9B4A0050D4A8@microsoft.com...
J'ai un pb: Excel ne veut pas ouvrir en entier un document .csv, car
il est
trop lourd (nombre de lignes>60 000). Comment faire pour obtenir mes
données