IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-02]Réduire la taille / le poids d'un classeur (avec connexion ADO)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut [E-02]Réduire la taille / le poids d'un classeur (avec connexion ADO)
    Bonjour à tous,

    Je cherche une solution pour diminuer le poids de mon fichier excel.
    Ce fichier navigue entre boite e-mail d'ou son intéret.
    A force de faire des modifs, le poids s'agrandit.

    La taille du fichier représente environ 1,6 Mo
    Objectif : Diminuer ce poids d'environ 20%
    Je serais heureux si le poids pourrait atteindre 1,2 ~1,3Mo

    J'ai fais plein de suppression, mais a ma grande surprise, cela n'a pas fait baisser son poids au contraire, en supprimant des lignes, j'ai grossi son poids.

    Si vous avez des trucs, astuces, je suis preneur.

    Je ne peus malheureusement pas donner le code source et pas non plus le fichier.
    J'attends de vous des conseils, astuces.

    Je vous remercie

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    C'est un peu vague comme question, sans fichier, code,.......
    Est-ce que ton fichier contient des formules?
    Le nombre de feuilles?

    D'un coté, on ne peut pas enlever énormément de grosseur sans perdre de données...

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut
    Le fichier comprend des formules, mais ces formules ne bougeront pas.

    C'est surtout du coté VBA que je souhaites faire du trie.
    Est ce que d'enlever les lignes inutiles pourrait y remédier ?
    Voici ce que j'attends comme réponses.

    Merci de m'aider

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut
    Citation Envoyé par peofofo Voir le message
    Le fichier comprend des formules, mais ces formules ne bougeront pas.

    C'est surtout du coté VBA que je souhaites faire du trie.
    Est ce que d'enlever les lignes inutiles pourrait y remédier ?
    Voici ce que j'attends comme réponses.

    Merci de m'aider
    Hello,

    Oui, en effet, supprimer des lignes de code inutiles te feront gagner en taille.

    Mais il te faut en supprimer beaucoup ... pour enlever 400 ko !

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 71
    Par défaut
    Bonjour peofofo,

    comme je m'étais posé la question une fois, voilà ce qu'un développeur m'avait dit : Le code VBA prend peu de place et ce n'est pas en supprimant quelques lignes de VBA, qui est du txt que tu vas gagner beaucoup de place.

    L'idéal serait d'enlever un maximum de formules mais tu dis que tu ne peux pas...
    Sinon une possibilité serait de faire faire les calculs par macro plutôt que par formule, là tu gagnerais beaucoup.

    Enfin, mais peut-être y a tu déjà pensé, lors de l'envoi de ton mail, au moment de zipper ton fichier, coche l'option "meilleure", tu gagneras là aussi pas mal de place par rapport à un envoi "par défaut".

    En espérant avoir été utile...

  6. #6
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    J'ai fait le test.
    Un fichier excel vide, avec un module vide. 16ko
    Maintenant, j'ai remplis le module de lignes pleines (de n'importe quoi...)
    Il est plein jusqu'à la limite de mémoire. Ce qui fait dans les 62000 lignes de code.... j'ai maintenant 1.65 mo...
    Tu dois avoir BEAUCOUP de ligne pour faire une différence

    Test 2. J'ai ensuite effacé toutes les lignes pour passer à seulement 100 lignes... je suis à 1.65 mo... Donc...

    Bien sur, recommencer à neuf te permettrait de garder seulement l'essenciel mais...

  7. #7
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut
    Je détail mon fichier vba
    Module 1: 236 Lignes
    Module 2: 101 Lignes
    Module 3: 535 Lignes
    Module 4: 671 Lignes
    Module 5: 17 Lignes
    Module 6: 1034 Lignes
    Module 7: 97 Lignes
    Module 8: 66 Lignes
    Module 9: 3 Lignes
    Module 10: 868 Lignes
    Module 11: 1909 Lignes
    Module 12: 339 Lignes

    Pour un total de 5 786 Lignes

    Et j'ai des lignes blanches un peu de partout,
    J'ai également indenté le code afin de s'y retrouvé.
    J'ai ajouté des commentaires de lignes, là ou s'est nécessaire.

    J'ai lu ton test et effectivement, il est impressionnant.
    Je comprend mieux alors pourquoi lorsque je supprimais du code, en plus des déplacements, j'avais encore plus de poids.

    Il ne faut donc pas faire de modification, si je comprend bien

  8. #8
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Il est préférable d'avoir quelques Ko de plus et d'avoir du code bien écrit, bien placé et commenté.

    La plus gourmant sont les images bien sur, les formules....
    Si tu as une formule dans toute la colonne C qui fait la somme A + B, alors tu est mieux de faire une macro qui parcourt le fichier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réduire la taille d'un vecteur de très grande dimension
    Par camboui dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 07/06/2017, 13h23
  2. diminuer le "poids" d'une image sans réduire sa taille
    Par laurentSc dans le forum Imagerie
    Réponses: 6
    Dernier message: 04/04/2009, 23h55
  3. Réduire la taille des fichier .LDF ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 31/03/2005, 11h48
  4. [GCC] Réduire la taille d'un programme statique
    Par Geronimo dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 05/03/2004, 16h34
  5. réduire la taille d'un datafile
    Par delphim dans le forum Administration
    Réponses: 30
    Dernier message: 20/02/2004, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo