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 :

Quand je sauvegarde un classeur excel est lent


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut Quand je sauvegarde un classeur excel est lent
    Bonjour tous,

    Je sauvegarde un classeur excel d'environ 5 000 lignes à l'aide de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveWorkbook.Save
    et depuis environ 1 mois la sauvegarde prend du temps à se complèté. Je n'ai rien changé dans le code alors je ne comprends pas pourquoi! Est-ce que quelqu'un connait une façon d'accélérer le processus de sauvegarde d'un classeur excel?

  2. #2
    Invité
    Invité(e)
    Par défaut


    Certainement dû à un recalcul du fichier avant enregistrement !

    Case à décocher éventuellement dans le menu : Outils -> Options
    Onglet : Calcul -> Recalcul avant enregistrement

    Si ce n'est pa ça, il faut voir :
    - la taille du fichier
    - si l'enregistrement est sur le réseau, le faire en local

    Voilà

  3. #3
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    Je ne comprends vraiment pas. Avant la sauvegarde se faisait rapidement, mais depuis 1 mois c'est lent. J'ai décoché l'option de "Recalcul avant enregistrement" et c'est toujours aussi lent.

    Le fichier fait 6mo.
    L'enregistrement se fait sur le réseau, mais ça je ne peux rien y changer.
    Alors si je comprends bien ca doit être un problème de vitesse du réseau?

  4. #4
    Membre régulier
    Avatar de mortalino
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Points : 116
    Points
    116
    Par défaut
    Salut,

    pour le savoir, il faut enregistrer le fichier sur ton disque dur local. Et là tu verras s'il y a une différence de temps pour le traitement.

    Perso, je trouve que 6Mo ça fait beaucoup, même pour 5000 lignes.

    Sinon, essaie de recréer le fichier en ouvrant un qui est vierge, tu colles les données aux bons endroits (de chaques feuilles).

    Quelques fois, le fait de refaire un fichier, réduit considérablement la taille de celui d'origine.

    @++

  5. #5
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    6mo pour 5000lignes c'est beaucoup effectivement, mais j'avais omis de dire que le fichier excel contient 16 feuilles dont une de 5000lignes (un registre) donc qui va en grossissant.
    Je vais essayer d'enregistrer en local et je vous reviens là-dessus. Merci

    C'est quelque peu plus rapide, mais c'est encore trop lent

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    As-tu travaillé sur des versions d'Excel différentes ou ton fichier a-t-il été enregistré sur une version plus récente puis plus ancienne. Le phénomène s'est produit chez moi et j'ai dû copier le fichier feuille par feuille sur un nouveau fichier pour qu'il retrouve une taille normal. Pas une copie de feuille mais une copie des cellules. Cells.copy destination:=LautreFichier.LaFeuille.cells(1,1)
    Attention, si tu continues, tu risques de ne plus pouvoir l'ouvrir. Fais une sauvegarde tant qu'il est encore temps.
    Pas d'autre idée

  7. #7
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    C'est un gros fichier excel que plusieurs personnes ont travaillé dessus depuis 1996.
    Maintenant je travaille sur le fichier avec Excel 2002.

    J'ai essayé de recopier toutes les feuilles, mais sans succès.

    Le fichier fait 8400ko au lieu de 5600ko.
    Et il y a plus de 20 nom définis et environ 5 modules de vb.

    Il y a une perte d'information quand je copie les feuilles, j'ai du redéfinir plus d'une dizaine de nom...

    Entk, je crois que je vais laisser faire pour l'optimisation de la vitesse d'enregistrement...ca devient trop complexe.

    Merci à tous pour vos conseilles!

    Bonne fin de semaine!

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Je t'ai bien précisé, copier les cellules, pas les feuilles.
    Le fait que la taille augmente en copiant les feuilles me conforte dans l'idée que tu as le même pb que celui que j'ai rencontré.
    Je m'en suis sorti après plusieurs tatonnements de cette façon :
    Copie des cellules d'une première feuille, enregistrement + copie de sauvegarde, copie des cellules d'une seconde feuille, enregistrement + copie de sauvegarde, 3ème feuille idem etc. -> 30 feuilles + 4 graphes par feuilles + 1000 lignes de code ~ + 1 millier de noms (créés en dynamique) et une feuille contenant des données brutes de plus de 3000 lignes.
    Et si j'ai fait ça, c'est que je n'ai pas pu faire autrement, le fichier gonflait à chaque modif puis s'est planté (j'avais une sauvegarde !)
    Pourquoi enregistrer les cellules feuille par feuille ? Parce qu'une cellule ou une feuille, avait un bug et qu'ainsi j'ai pu trouver la feuille fautive et la récrire avec ma petite mimine...
    Te dire que j'ai mis plusieurs jours ne t'étonnera pas
    En tout cas, bon courage

    NB - Il me semble que l'an dernier ou fin 2005 quelqu'un avait donné une solution consistant à vérifier et débuguer le fichier (avec un outil Office ?)... Sans garantie. Et si je n'ai pas noté la méthode c'est que mon pb était antérieur et réglé)

  9. #9
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    Ce fut long! Car j'avais pas une 20aines de noms mais plus une 100aines de noms à redéfinir, mais là j'ai fait les copiers-collers comme vous me l'avez dit. Le fichier pèse 5mo au lieu de 6mo et l'enregistrement se fait bcp plus rapidement!

    Un Gros Merci!

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Problème Résolu, mais quelle est la solution.
    Citation Envoyé par Subkill Voir le message
    Bonjour tous,

    Je sauvegarde un classeur excel d'environ 5 000 lignes à l'aide de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveWorkbook.Save
    et depuis environ 1 mois la sauvegarde prend du temps à se complèté. Je n'ai rien changé dans le code alors je ne comprends pas pourquoi! Est-ce que quelqu'un connait une façon d'accélérer le processus de sauvegarde d'un classeur excel?

  11. #11
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    Le post date de 2006, soit il y a 9 ans! Mais quand je relis mon dernier thread, je comprends que ce que j'ai du faire c'est recopier le contenu des cellules dans un nouveau classeur excel et ça a corrigé le problème. Mais faut dire que le problème était avec MS-Excel 2002. J'imagine qu'il y a eu une optimisation de la gestion de la mémoire avec les version ultérieurs d'Excel, surtout avec la nouvelle version en 64 bits où il n'y a plus la limite de 65 000 lignes par feuille.

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

Discussions similaires

  1. Sauvegarde de classeur excel par boite de dialogue excel
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/02/2012, 18h57
  2. Sauvegarder un classeur Excel actif
    Par silvin dans le forum VBScript
    Réponses: 6
    Dernier message: 09/09/2011, 17h28
  3. [AC-2003] Code pour tester si un classeur excel est ouvert depuis access
    Par moilou2 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/08/2009, 09h28
  4. Enregistrer sous quand on ferme un classeur Excel
    Par Flow56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/04/2008, 11h30
  5. Sauvegarder un classeur EXCEL à la même version que l'application
    Par jkrtu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/01/2008, 10h49

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