[Excel] Un fichier de 200 ko qui bouffe 600 Mo de RAM

Répondre
Partager Rechercher
Hello le Labo,

J'ai reçu une petite colle de la part de mon père
Il tient à jour un fichier Excel pour garder une trace du kilométrage/conso de sa voiture, depuis 2010. Niveau colonne ça va jusque AJ et 96 lignes en tout.
Le fichier en lui-même tient dans 224 ko, mais étrangement... Maintenant il pète la conso de RAM. Là sur mon Mac il est à 400 Mo de RAM, et sur son PC (W8) il atteint parfois les 1 Go de RAM consommés.
Du coup ça rend impossible de travailler dessus: Excel plante systématiquement, au point où même le copier-coller en est impossible de nos côtés.

Le truc c'est qu'il y a que des formules de merde quoi, genre des additions, divisions et des fois des jours360. Pas de mise en forme conditionnelle, pas de cellule à perpet remplie de caca (c'était un des trucs que j'avais trouvé comme piste de résolution sur Internet), etc... Du coup, j'pige pas.

Comment ça se fait-ce? Et comment espérer le résoudre?

Merci d'avance
(je préfère pas mettre le fichier ici, vu que ça reste du perso quand même. Après, en MP si certains veulent l'explorer...)
Essaie un truc tout con : Copier-coller ce qu'il veut dans un autre fichier, et regarder comment le nouveau fichier va.

Ouais, des fois les solutions les plus idiotes marchent.
C'est possible de faire des boucles infinies dans Excel? Genre la cellule A qui dépend de B, la valeur de B qui dépend de C et celle de C qui dépend de A.

Sinon tu peux toujours essayer de charger le fichier dans Open Office/... ou un des versions web d'Excel de Google/MS, des fois que ca soit un problème avec Excel lui même.
Il a changé d'ordinateur récemment ? De version excel ?

J'ai eu un problème similaire sur un fichier de travail pro, fichier pas énorme mais impossible à ouvrir. C'était un .xlsx et je n'avais pas encore 2010 et le convertisseur de fichier ne suffisait pas.

Même sur un ordi avec 2010, ça ne marchait pas terrible mais j'avais pu identifier que le problème venait de cellules avec menu déroulant. En les supprimant, le fichier avait arrêté de mouliner.

Si le fichier le permet (), il faudrait que tu essaies de coller la mise en page d'une nouvelle page vierge dans la feuille qui merde. Ca retirera peut-être des éléments de mise en page qui font déconner le truc (possible aussi, certaines versions ne supportent pas des éléments de mise en page d'autres versions et ne les adaptent pas, ce qui est surprenant...). Et s'il y a des cellules avec menu déroulant ou autre trucs non classiques, regarder par là.

Si le fichier contient rien de bien secret, tu peux le partager ?

@The Londonian : Dans ces cas là en général Excel le signale (pas très visuellement) vers en bas à gauche dans la barre grise et ne calcule juste pas la formule. J'ai régulièrement des collègues qui m’appellent à l'aide parce qu'Excel refuse de faire un calcul basique, et c'est généralement la raison
Citation :
Publié par The Londonian
Sinon tu peux toujours essayer de charger le fichier dans Open Office/... ou un des versions web d'Excel de Google/MS, des fois que ca soit un problème avec Excel lui même.
Ou gnumeric, qui a l’avantage d’etre beaucoup plus léger que excel ou open/libre office, tout en sachant lire les .xls / .xlsx. Et d’être gratuit, bien entendu.
Il ne fait pas (en tous cas la dernière fois que j’ai essayé) le formatage conditionnel, mais ce n’est pas génant si la feuille n’en contient pas…
ne pas enregistrer avec les filtres actifs
sinon il a peut etre taper un blanc ou un format sur la derniere ligne la 1000000 du coup ca prend plein de place en memoire
il faut effacer toutes les lignes inutiles de x a la derniere et toutes les collones et enregistrer
Citation :
Publié par cricri
ne pas enregistrer avec les filtres actifs
sinon il a peut etre taper un blanc ou un format sur la derniere ligne la 1000000 du coup ca prend plein de place en memoire
il faut effacer toutes les lignes inutiles de x a la derniere et toutes les collones et enregistrer
Je pense pas que les filtres soient le problème et un blanc sur la dernière ligne ferait que le fichier pèserait plusieurs mégas.

Pas de news de l'OP, dommage.
Citation :
Publié par cricri
ne pas enregistrer avec les filtres actifs
sinon il a peut etre taper un blanc ou un format sur la derniere ligne la 1000000 du coup ca prend plein de place en memoire
il faut effacer toutes les lignes inutiles de x a la derniere et toutes les collones et enregistrer
Jamais eu l'occasion de tester, mais j'ose esperer que les inges de chez Microsoft savent gerer correctement des matrices creuses.
News de l'OP

Alors j'ai effectivement testé plusieurs trucs :

- La dernière cellule (et en fait, toutes les lignes/colonnes inutilisées, de ce que j'ai pu voir) ont été purgées, vidées tralala. Rien n'y a fait. Pour Kwild par contre, remplir la dernière cellule d'une feuille fait en fait vraiment péter la taille du fichier (relativement à la taille qu'il aurait du avoir - j'avais testé au pif sur une feuille vierge, il a fait 2 mo direct sur le DD)

- La copie/colle directe (en passant par Google Calc) ne change rien dans le nouveau fichier, même en ne copiant que les cellules utilisées (càd pas en faisant Ctrl-A)

- Y a aucun filtre d'activé. Le seul truc un peu "olé olé" c'est que y a des formatages du type "5164 Lit" (le Lit est donc en plus sur chaque cellule... pour les litres de carburant). Aussi, aucune cellule à menu déroulant.

- OpenOffice plante cash

- Google Calc plante pas tout à fait cash, mais plante au bout d'un moment par explosion de la conso mémoire (suffisamment long cela dit pour permettre la copie/colle en ne gardant que les valeurs, ce qui a permis de retrouver un fichier à peu près exploitable)

- Aucun changement de version d'Excel. Le fichier avait été créé sous Excel 2010, et il a toujours été utilisé sous Excel 2010. On a changé de PC récemment cela dit, mais le problème commençait déjà à se manifester sur le PC "original".

- Aucune boucle infinie.

- Pas pu tester en FAT32 par contre, j'ai pas de clé USB sous la patte.

Du coup, bon j'ai quand même pu vérifier un peu si y avait pas des trucs tendus, en fait non. Donc si des gens veulent voir C'est un lien Google Drive, JoL ne veut pas des .xlsx.
(j'ai scanné sur VirusTotal, rien, ne vous inquiétez pas )

Cliquez ce bouton ou survolez le contenu pour afficher le spoiler
https://drive.google.com/file/d/0B2R...it?usp=sharing
Je viens de le dl, ouvert avec Excel 2013 sur l'ordi du boulot (donc un prévu pour la bureautique = hardware plus que cheat), et pas de crash... Je l'ai laissé ouvert ~20 minutes en le modifiant par ci par là...
Le problème semble venir de chez toi pour le coup.
fichier ouvert sans problème avec office suite pro sur mon s3, 6.5mo de ram consommée.
j'ai regardé vite fait je vois pas de formule chelou.

a tenter quand même, desactiver le calcul auto des formules et voir ce que ca donne.
Bah perso je l'ai ouvert sur 3 PC (dont un Mac) différents (avec des config différentes : complètement bureautique (celui de mon père), un plus multimedia et celui du boulot, et mon MBP), constat similaire.
Aucun n'est équipé d'Office 2013 cependant. (encore moins le Mac )
Je testerai pour désactiver le calcul auto sur mon Mac ce soir, n'étant pas à proximité géographique du PC de mon père en ce moment.

Celui du boulot a carrément dû être reboot avec OpenOffice.
Citation :
Publié par Sakechi
- La dernière cellule (et en fait, toutes les lignes/colonnes inutilisées, de ce que j'ai pu voir) ont été purgées, vidées tralala. Rien n'y a fait. Pour Kwild par contre, remplir la dernière cellule d'une feuille fait en fait vraiment péter la taille du fichier (relativement à la taille qu'il aurait du avoir - j'avais testé au pif sur une feuille vierge, il a fait 2 mo direct sur le DD)
C'est + pour Cricri et Malka, moi je le savais justement


J'ai regardé un peu, il mouline pas mal sur mon excel 2010 (enfin il mouline quoi, ce qui est assez inhabituel). J'ai testé différents trucs :
- Virer la formule JOURS360 (en plus de donner des valeurs avec une marge d'erreur inutile, mon PC aimait pas quand je la copiais (la différence entre deux dates peut se faire avec "date2-date1"))
- Mettre une police différente (j'ai déjà vu Excel ne pas aimer certaines polices même de base)
- Virer les encadrés de cellules (pareil, déjà vu des encadrés spéciaux d'autres formats, doublés sans que ça soit visible et qui bouffent énormément)
- Désactiver le calcul automatique (sans conviction)
- Corrigé une formule qui divisait par 0 dans je sais plus quoi par jour
- Retirer tout formatage des cellules (les Lit, le formatage des dates, les couleurs, les gras, les soulignés, etc...)

Ben j'arrive quand même pas à le copier en une fois dans une nouvelle feuille .
Faudrait que je teste morceau par morceau voir s'il y en a un qui merde en particulier.

Ce qui est marrant c'est qu'il aime pas copier les formules d'une cellule à l'autre, même des sommes toutes con.
Ouvre-le, enregistre-le autre-part sous le format .csv et ouvre ce nouveau fichier.
Le .csv ne conserve que les données et non les formules, après tu peux rajouter les formules une par une pour voir quel est celle qui te bouffe ta RAM.
Citation :
Publié par Kwild
C'est + pour Cricri et Malka, moi je le savais justement


J'ai regardé un peu, il mouline pas mal sur mon excel 2010 (enfin il mouline quoi, ce qui est assez inhabituel). J'ai testé différents trucs :
- Virer la formule JOURS360 (en plus de donner des valeurs avec une marge d'erreur inutile, mon PC aimait pas quand je la copiais (la différence entre deux dates peut se faire avec "date2-date1"))
- Mettre une police différente (j'ai déjà vu Excel ne pas aimer certaines polices même de base)
- Virer les encadrés de cellules (pareil, déjà vu des encadrés spéciaux d'autres formats, doublés sans que ça soit visible et qui bouffent énormément)
- Désactiver le calcul automatique (sans conviction)
- Corrigé une formule qui divisait par 0 dans je sais plus quoi par jour
- Retirer tout formatage des cellules (les Lit, le formatage des dates, les couleurs, les gras, les soulignés, etc...)

Ben j'arrive quand même pas à le copier en une fois dans une nouvelle feuille .
Faudrait que je teste morceau par morceau voir s'il y en a un qui merde en particulier.

Ce qui est marrant c'est qu'il aime pas copier les formules d'une cellule à l'autre, même des sommes toutes con.
J'avais aussi regardé si par hasard il avait pas foutu des formatages conditionnels, vu que ça c'est connu pour parfois faire péter la baraque, bah non. J'aurais bien été content si ça n'avait été que ça
(Pour l'anecdote: La div/0 était normale, comme c'est un calcul qui prend en compte une des cellules remplies dans le futur, donc au prochain plein d'essence de la voiture, truc du genre. J'm'en rappelle pas de tête là mais elle se calcule bien une fois le prochain plein renseigné )

@MsPtibiscuit: C'est ce qu'on a fait au final (d'une façon un peu détournée...), on a gardé que les valeurs. Le rajout des formules on a pas encore eu le temps d'essayer, mais mon père semble plus partant pour ne reprendre les formules qu'à partir de la dernière date complétée (donc pas reprendre du début). J'vais essayer ça quand je peux
Le truc c'est que comme on arrive pas à isoler le problème, on a peur que ça revienne.

Le pire? C'est que ça se manifeste petit à petit sur les autres fichiers pour les autres voitures qu'on a, au fur et à mesure qu'ils se remplissent.


@Quild: En effet, je vois de quelle cellule tu parles, il y avait bien 2 pleins en une journée. J'avais espéré que c'était ce genre de cellules à la con qui faisait chier, mais bon, non, du coup j'ai laissé comme c'était

Dernière modification par Sakechi ; 19/08/2014 à 12h28.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés