OVH Cloud OVH Cloud

fichier excel et lenteur.

5 réponses
Avatar
kamel
Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance

5 réponses

Avatar
anonymousA
bonjour,

si le filtre est lent, c'est peut-être pare qu'il y a des formules à
exécuter dans ta feuille. Si c'est le cas, tu peux peut-être t'en sortir
en passant le calcul en manuel (outils/options/calcul/calcul sur ordre).

Pour ce qui concerne les 80000 lignes, il est sans doute plus que
conseillé de passer notamment à ACCESS.

A+


Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance


Avatar
kamel
j'ai essayé le calcul sur ordre, c'est quand meme lent aussi.

La limite d'access, c'est quoi.

en plus j'ai un besoin d'exporter mes 80000 lignes sur excel comment je doit
faire etant donnée que la limite d'excel est de 65536 lignes

merci


bonjour,

si le filtre est lent, c'est peut-être pare qu'il y a des formules à
exécuter dans ta feuille. Si c'est le cas, tu peux peut-être t'en sortir
en passant le calcul en manuel (outils/options/calcul/calcul sur ordre).

Pour ce qui concerne les 80000 lignes, il est sans doute plus que
conseillé de passer notamment à ACCESS.

A+


Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance





Avatar
anonymousA
la limite d'ACCESS de mémoire pour ACCESS 2000 est de l'ordre d'une
taille de Base de données de 1 Goctets autant dire que tes 80000 lignes
ne lui feront pas peur.

Par ailleurs, pour l'importation p.e d'un fichier texte de plus de 65000
lignes voici un exemple de procédure qui au passage te permet aussi de
découvrir ce que lon peut faire avec ADO et la méthode copyfromrecordset

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, 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", ,
"Please select text file...")

If strFullPath = "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:folderfile.txt
'We need to split this into path and file name
Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")

strFilePath = oFSObj.GetFile(strFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(strFullPath).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Þlimited"""

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


A+



j'ai essayé le calcul sur ordre, c'est quand meme lent aussi.

La limite d'access, c'est quoi.

en plus j'ai un besoin d'exporter mes 80000 lignes sur excel comment je doit
faire etant donnée que la limite d'excel est de 65536 lignes

merci



bonjour,

si le filtre est lent, c'est peut-être pare qu'il y a des formules à
exécuter dans ta feuille. Si c'est le cas, tu peux peut-être t'en sortir
en passant le calcul en manuel (outils/options/calcul/calcul sur ordre).

Pour ce qui concerne les 80000 lignes, il est sans doute plus que
conseillé de passer notamment à ACCESS.

A+



Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance







Avatar
kamel
oui ok, 1 ligne sur une base access, cela represente combien d'octet.

La macro que tu ma fournit me permet d'importer une table access de plus de
80000 lignes sur excel.

Mais la macro pourrai copier seulement des données sur 65536.

mes autres lignes seront perdu du coup.

Merci de ton aide


la limite d'ACCESS de mémoire pour ACCESS 2000 est de l'ordre d'une
taille de Base de données de 1 Goctets autant dire que tes 80000 lignes
ne lui feront pas peur.

Par ailleurs, pour l'importation p.e d'un fichier texte de plus de 65000
lignes voici un exemple de procédure qui au passage te permet aussi de
découvrir ce que lon peut faire avec ADO et la méthode copyfromrecordset

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, 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", ,
"Please select text file...")

If strFullPath = "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:folderfile.txt
'We need to split this into path and file name
Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")

strFilePath = oFSObj.GetFile(strFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(strFullPath).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Þlimited"""

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


A+



j'ai essayé le calcul sur ordre, c'est quand meme lent aussi.

La limite d'access, c'est quoi.

en plus j'ai un besoin d'exporter mes 80000 lignes sur excel comment je doit
faire etant donnée que la limite d'excel est de 65536 lignes

merci



bonjour,

si le filtre est lent, c'est peut-être pare qu'il y a des formules à
exécuter dans ta feuille. Si c'est le cas, tu peux peut-être t'en sortir
en passant le calcul en manuel (outils/options/calcul/calcul sur ordre).

Pour ce qui concerne les 80000 lignes, il est sans doute plus que
conseillé de passer notamment à ACCESS.

A+



Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance










Avatar
anonymousA
ben, cad épend de que comporte la ligne comme nombre de champs puis de
la nature des données dans ces champs. Donc il est difficile de donner
une réponse très fiable.
Piur te donner une idée, sur une BDD d'ACCESS que j'utilise assez
souvent pour mon job , on peut avoir jusqu'à 200000 lignes avec une 30
de champs contenant des valeurs texte assez courtes et contenant environ
15 tables et 100 requêtes et 50 états et tout ça pour une taille
d'environ 50 MOctets. Tu vois que tu as encore de la marge avant de
coincer ACCESS. Par ailleurs, le grand avantage d'ACCESS est aussi sa
capacité à travailler en réseau de manière native et d'être beaucoup
plus faible et facile à utiliser qu'Excel de ce point de vue.

Enfin, pour ta remarque sur l'incapacité de la proc communiquée à
récupérer plus de 65536 lignes, je pense que tu ne l'as pas bien lue
parcequ'elle est fait spécialement pour ça :

While Not oRS.EOF

Sheets.Add
ActiveSheet.Range("A1").CopyFromRecordset oRS, 65536

Wend

A+

oui ok, 1 ligne sur une base access, cela represente combien d'octet.

La macro que tu ma fournit me permet d'importer une table access de plus de
80000 lignes sur excel.

Mais la macro pourrai copier seulement des données sur 65536.

mes autres lignes seront perdu du coup.

Merci de ton aide



la limite d'ACCESS de mémoire pour ACCESS 2000 est de l'ordre d'une
taille de Base de données de 1 Goctets autant dire que tes 80000 lignes
ne lui feront pas peur.

Par ailleurs, pour l'importation p.e d'un fichier texte de plus de 65000
lignes voici un exemple de procédure qui au passage te permet aussi de
découvrir ce que lon peut faire avec ADO et la méthode copyfromrecordset

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, 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", ,
"Please select text file...")

If strFullPath = "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:folderfile.txt
'We need to split this into path and file name
Set oFSObj = CreateObject("SCRIPTING.FILESYSTEMOBJECT")

strFilePath = oFSObj.GetFile(strFullPath).ParentFolder.Path
strFilename = oFSObj.GetFile(strFullPath).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Þlimited"""

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


A+




j'ai essayé le calcul sur ordre, c'est quand meme lent aussi.

La limite d'access, c'est quoi.

en plus j'ai un besoin d'exporter mes 80000 lignes sur excel comment je doit
faire etant donnée que la limite d'excel est de 65536 lignes

merci




bonjour,

si le filtre est lent, c'est peut-être pare qu'il y a des formules à
exécuter dans ta feuille. Si c'est le cas, tu peux peut-être t'en sortir
en passant le calcul en manuel (outils/options/calcul/calcul sur ordre).

Pour ce qui concerne les 80000 lignes, il est sans doute plus que
conseillé de passer notamment à ACCESS.

A+




Bonjour,

Jai un fichier excel comprenant environ 14000 ligne, pour utiliser un
filtre automatique, sur ces lignes, mon classeur met souvent un temps non
négligeable.

Savez vous comment réduire ce temps?

ET autre question si j'ai des données sur plus de 14000 lignes , c'est a
dire sur80000 lignes, je ne pourrai plus utiliser excel.

Quel logiciel excistant vous me conseiller .

merci d'avance