[EXCEL] ou tableur moins gourmand - utilisation de toutes les lignes.

ou tableur moins gourmand - utilisation de toutes les lignes. [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 18-10-2016 à 02:20:39    

bonjour
 
j'ai des calculs à faire concernant des données en fichiers externes.
 
J'importe les données de ces fichiers dans excel.
Le seul problème c'est que le nombres de lignes est largement supérieur aux nombres de lignes maximums de excel soit aux alentours des 1Millions, et rien qu'avec une dizaine de colonne de 1millions de lignes je me retrouve avec un fichier excel pesant dans les 500Mo. Le PC 3ghz dual core avec 4go commence à ramer.
 
Je ne comprends pas, la capacité de excel est de 1 048 576 lignes et 16 384 colonnes, alors que j'utilise 1 048 576 lignes et une dizaines de colonnes, a quoi servent les 16000 colonnes alors  :o si le pc commence à ramer avec 10 colonnes?
 
D'où vient le problème ? de mon PC ? de excel ? Faut-il changer l'extension de travail j'ai du *.xlsx.
Changer de tableur moins lourd ? Genre libre office ?
 
Solution la moins avantageuse pour moi, car je ne maitrise pas bien le VBA :
Oubien faire des calculs avec des macros excel sur les fichiers externes convertible txt notamment, sans importer ceci dans excel ?
 
 
 :hello:  
 

Reply

Marsh Posté le 18-10-2016 à 02:20:39   

Reply

Marsh Posté le 18-10-2016 à 09:43:40    

Dis toi que chaque caractère utilisé (contenu de tes cellules, macro, ...) utilise 2 octets (16 bits : UTF-16).  
Par exemple si tu mets une lettre dans chaque cellule :
1048576 (lignes) x 16384 (colonnes) * 2 (octets ) = 34,359,738,368 octets ~= 34 Go !
 
Rajoute à celà les autres données techniques du fichier (nom, définition et format des cellules, des formules, etc..) qui prennent un peu de place.
 
En multipliant tout ça par tes données tu vois que cela représente une taille conséquente.
 
De plus il faut savior qu'un fichier ouvert avec Excel (comme la plupart des logiciels) charge la totalité du fichier en mémoire.
Ton fichier de 500Mo va prendre au moins 500Mo de RAM.
 
Un autre tableur ne changera pas grand chose, sachant en plus que les versions modernes des fichiers Excel (xlsx) utilisent beaucoup moins de place que les anciens (xls) en utilisant une nouvelle structure de fichier et en utilisant la compression.
 
En conclusion, manipuler un grand nombre de données consomme beaucoup de ressources (RAM, mais aussi CPU pour le traitement).
Et à partir d'un certain volume, Excel n'est plus adapté.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Marsh Posté le 18-10-2016 à 12:52:04    

paulonais a écrit :


Je ne comprends pas, la capacité de excel est de 1 048 576 lignes et 16 384 colonnes, alors que j'utilise 1 048 576 lignes et une dizaines de colonnes, a quoi servent les 16000 colonnes alors  :o si le pc commence à ramer avec 10 colonnes?


 
la capacité d'excel n'est pas liée à la capacité de ton ordi.
Des fois, c'est le hardware qui limite le software, ce qui est le cas ici.  
Excel gere un millions de lignes et 16000 colonnes, c'est un fait. Mais à aucun moment il ne dit que ce sera rapide sur un dual core.
C'est un peu comme si tu disais "a quoi ça sert que photoshop gere les images de 300 000 x 300 000 alors que chez moi ça rame sur les images 10 000x10 000 ?", la réponse est dans la question.
 
un millions de lignes , même si tu colles ça dans une base sql (plus adaptées pour du très gros volume comme ça), il te faudra quand même du bon pré-requis hardware pour le traiter..
 

paulonais a écrit :


 
Changer de tableur moins lourd ? Genre libre office ?
 


 
Rien que pour mes fichiers de 100mo, la conso mémoire est au double, alors ton fichier ..[:clooney8]


Message édité par flash_gordon le 18-10-2016 à 12:57:39
Reply

Marsh Posté le 18-10-2016 à 13:07:56    

Si je me rappel bien AWK et SED devrait être capable de faire cela,  mais faut connaitre


---------------
#mais-chut
Reply

Marsh Posté le 18-10-2016 à 15:17:46    

Z_cool a écrit :

Si je me rappel bien AWK et SED devrait être capable de faire cela,  mais faut connaitre


Oui pour le traitement de données purement textuelles il ya des outils comme AWK et SED, voir le langage Perl qui sont plus adaptés.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Marsh Posté le 18-10-2016 à 23:34:03    

Alors dans les données externes qui peuvent être facilement convertis en fichier doc txt etc, c'est de l'ordre des dix millions de lignes, quelques colonnes et sont moins lourd qu'un fichier excel où j'importe ces données.
 
Donc le cahiers des charges après le calcul veut que je sélectionne une petite partie des données txt, doc, en fonction de ce que je souhaite.
 
Le plus simple serait alors de faire une macro avec excel qui scrute et scanne les lignes et colonnes des fichiers externes (sans les importer complètement), et au final m'importe les données calculées dans le fichier excel.
 
Exemple d'algorithme vba dans excel :
1)si la ligne 1 du fichier externe correspond aux calculs, importer la donnée dans la case A1 d'excel
2)si la ligne 2 du fichier externe correspond aux calculs, importer la donnée dans la case A2 d'excel
 
LE problème arrive-t-on à faire des calculs dans des fichiers externes au format txt ou doc sans les importer ?

Reply

Marsh Posté le 18-10-2016 à 23:54:02    

Et en quoi une macro qui va tester 10 milllions de lignes sera plus rapide?
 
Comme dit plusieurs fois par plusieurs personnes dans le topic, tu es en train d'essayer de visser un clou avec un pinceau.  
 
Tu n'as pas les bons outils pour traiter ce type de données.
On ne connait pas le contexte ni rien, mais il y a un gros projet à gerer sur le traitement de tes données, on n'improvise pas ce genre de truc à l'arrache avec excel.
 
Faut reprendre ton cahier des charges à zéro, analyser l'objectif, les données en amont etc...

Message cité 1 fois
Message édité par flash_gordon le 19-10-2016 à 00:02:16
Reply

Marsh Posté le 19-10-2016 à 03:42:03    

flash_gordon a écrit :

Et en quoi une macro qui va tester 10 milllions de lignes sera plus rapide?
 
Comme dit plusieurs fois par plusieurs personnes dans le topic, tu es en train d'essayer de visser un clou avec un pinceau.  
 
Tu n'as pas les bons outils pour traiter ce type de données.
On ne connait pas le contexte ni rien, mais il y a un gros projet à gerer sur le traitement de tes données, on n'improvise pas ce genre de truc à l'arrache avec excel.
 
Faut reprendre ton cahier des charges à zéro, analyser l'objectif, les données en amont etc...


 
Enfait à la sortie des calculs sur les 10millions de lignes *.txt/*.doc à tester , il en restera en moyenne cent fois moins, donc un fichier excel avec 100 000 lignes c'est rien. D'où l'idée de faire une macro dans un fichier excel à part sur un fichier de sortie txt/doc en important juste les résultats filtrés.
Le meilleur compromis je pense.
 
Si possible je ne souhaite pas réapprendre un logiciel complet par faute de temps. Au pire bien sûre je devrai changer.

Reply

Marsh Posté le 19-10-2016 à 10:09:23    

Une macro traitant autant de données va tuer ton PC (peut-être Excel avant).
 
Comme dit flash_gordon : ce n'est pas le bon outil.
Même un simple script powershell ou VBS, si tu veux rester dans le même genre de syntaxe que les macros, sera plus adapté.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Marsh Posté le 19-10-2016 à 13:08:14    

Par un temps,  j avais utilisé ca:
https://www.microsoft.com/en-us/dow [...] x?id=24659
 
C était pas trop mal


---------------
#mais-chut
Reply

Marsh Posté le 19-10-2016 à 13:08:14   

Reply

Marsh Posté le 19-10-2016 à 21:03:46    

nex84 a écrit :

Une macro traitant autant de données va tuer ton PC (peut-être Excel avant).
 
Comme dit flash_gordon : ce n'est pas le bon outil.
Même un simple script powershell ou VBS, si tu veux rester dans le même genre de syntaxe que les macros, sera plus adapté.


 
Franchement je ne comprends pas ta réponse  :cry:  
Un 3ghz est quand même puissant, dans certains cas doit faire des millions opérations à la seconde notamment les jeux.
 
Je ne vois pas ce qu'une simple macro d'excel (qui va scruter lignes par lignes un fichier externe qui a certe des millions de lignes) va prendre comme ressources  :cry: . Au final le fichier excel (sans importer les 10millions de lignes du txt) aura 100 000 de lignes après filtrage des données. Peut importe si celà prends dix minutes voir des heures. Je ne pense tout de même pas que celà prendra des heures. :heink:

Reply

Marsh Posté le 19-10-2016 à 21:48:22    

paulonais a écrit :


 
Franchement je ne comprends pas ta réponse  :cry:  
Un 3ghz est quand même puissant, dans certains cas doit faire des millions opérations à la seconde notamment les jeux.
 
Je ne vois pas ce qu'une simple macro d'excel (qui va scruter lignes par lignes un fichier externe qui a certe des millions de lignes) va prendre comme ressources  :cry: . Au final le fichier excel (sans importer les 10millions de lignes du txt) aura 100 000 de lignes après filtrage des données. Peut importe si celà prends dix minutes voir des heures. Je ne pense tout de même pas que celà prendra des heures. :heink:


avec les mauvais outil, si ça peut durer des heures, excel est clairement pas fait pour ce ca.
 
le seul truc qui pourrait s en approcher, ça serait Access.
mais encore, si tu utilise les mauvais outils, on ne peut pas grand chose pour toi


---------------
#mais-chut
Reply

Marsh Posté le 20-10-2016 à 02:21:33    

Z_cool a écrit :


avec les mauvais outil, si ça peut durer des heures, excel est clairement pas fait pour ce ca.

 

le seul truc qui pourrait s en approcher, ça serait Access.
mais encore, si tu utilise les mauvais outils, on ne peut pas grand chose pour toi

 

mon cas est tellement sévère qu'il n'y aurait plus rien à faire  :whistle:

 


 :lol:

 

Il faut donc changer de logiciel.
j'ai regardé ci-dessus, mais ils ne me satisfont pas.

 

un logiciel de mathématique ?

 

ceci me satisfait je pense :

 

http://fabrice.sincere.pagesperso- [...] chiers.htm

 

A voir si le logiciel soit moins gourmand que excel.

  

Message cité 1 fois
Message édité par paulonais le 20-10-2016 à 02:28:02
Reply

Marsh Posté le 20-10-2016 à 03:38:49    

Non mais le problème faut le prendre en amont hein..

Reply

Marsh Posté le 20-10-2016 à 06:26:50    

paulonais a écrit :


 
mon cas est tellement sévère qu'il n'y aurait plus rien à faire  :whistle:  
 
 
 :lol:  
 
Il faut donc changer de logiciel.
j'ai regardé ci-dessus, mais ils ne me satisfont pas.
 
un logiciel de mathématique ?  
 
ceci me satisfait je pense :  
 
http://fabrice.sincere.pagesperso- [...] chiers.htm
 
A voir si le logiciel soit moins gourmand que excel.
 
 
 


si tu commençais par nous poster un court exemple de ton fichier ?


---------------
#mais-chut
Reply

Marsh Posté le 20-10-2016 à 09:24:49    

+1
Il nous faudrait un exemple de données à trier ainsi que les opérations que tu souhaites y faire.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed