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

Excel Discussion :

Taille du fichier Excel / formes cachées


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 37
    Points : 31
    Points
    31
    Par défaut Taille du fichier Excel / formes cachées
    Bonjour,

    J'ai réalisé un programme de calcul thermique que j'améliore depuis 1988. Donc il prend du poids, c'est normal. Mais pour autant, je reste convaincu qu'il conserve des données inutiles, et j'aimerais bien l'alléger.

    Pour donner un exemple, lorsque je crée un bouton, il porte automatiquement le N° 950 ou plus, alors que je n'en ai qu'une dizaine sur la feuille. C'est vrai qu'au cours des années j'en ai créé et supprimé des centaines, et que le macros se sont alourdies...

    J'ai bien tenté de supprimer les lignes et les colonnes vides, de supprimer les mises en forme inutiles au cas où, mais rien n'y fait. Alors j'aimerais bien mettre ce fichier à la diète !

    Si quelqu'un a une idée originale, je suis preneur. Question complémentaire : Existe-t-il un moyen de repérer des formes ou images qui seraient restées cachées ?

    Précision supplémentaire : Je travaille toujours avec la version Excel 2003, que voulez-vous on ne se refait pas ! J'ai déjà fait tourner le calcul sous 2010, mais je ne l'ai pas (et je n'en veux pas !!)

    Merci d'avance
    JR

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, une discussion sur l'allègement des classeurs Excel
    il y a aussi un utilitaire qui peut parfois aider.

    Même si cela parait évident, l'expérimentation se fait sur une copie et non sur l'original, de manière à vérifier que tout fonctionne normalement après compactage et autres ...

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    voici ma procédure extraite d'une barre d'outils de macros complémentaires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub SupprimerImagesFantomes()
        Dim Sh As Shape
     
        If Workbooks.Count Then
            With ActiveWorkbook.ActiveSheet
                If .ProtectContents Then
                    Beep
     
                Else
                    If .FilterMode Then .ShowAllData
                    .Rows.Hidden = False
     
                    For Each Sh In .Shapes
                        If Sh.Height = 0 And Sh.Type = msoPicture Then N = N + 1: Sh.Delete
                    Next
     
                    If N > 1 Then S$ = "s"
                    If N > 0 Then T$ = " supprimée" & S Else N = "Aucune"
                    MsgBox N & " image" & S & " fantôme" & S & T & " !   ", , "        Supprimer"
                End If
            End With
        End If
    End Sub
    A adapter selon le type …


    Voici une procédure affichant des informations d'objets Shape de la feuille active dans la fenêtre Exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub InfoShapes()
        Dim Sh As Shape
     
        For Each Sh In ActiveSheet.Shapes
            Arrow = Sh.Type = 9 And (Sh.Line.BeginArrowheadStyle > 1 Or _
                                     Sh.Line.EndArrowheadStyle > 1)
            Forme = Switch(Sh.Type = 8, "Bouton", Arrow, "Flèche", Sh.Type = 9, "Trait", _
                           Sh.Type = 13, "Image", Sh.Type = 17, "Zone Texte")
            STyp$ = IIf(Forme > "", Forme, Sh.Type)
            If Sh.ZOrderPosition Mod 8 = 1 Then
                Debug.Print String(120, "—")
                Debug.Print "ZOrderP", "Name", "Type", " Left", " Top", _
                            " Height", " Width", "AlText", "OnAction"
            End If
            Debug.Print Chr(-(Not Sh.Visible) * 183) & " " & Sh.ZOrderPosition, _
                          Sh.Name, STyp$, Sh.Left, Sh.Top, Sh.Height, Sh.Width, _
                          Mid(Sh.AlternativeText, 1, 13), Sh.OnAction
        Next Sh
    End Sub
    Si un point apparait en début de ligne, l'objet est invisible …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 37
    Points : 31
    Points
    31
    Par défaut Merci kiki29 & Marc-L
    Merci à tous les deux !

    J'ai adapté le code de kiki29 pour pouvoir afficher l'objet, sélectionner une cellule proche (donc le visualiser facilement) et décider si je le supprime ou non (dans ce dernier cas, je lui rend son invisibilité !). Quant au code de Marc-L, je l'ai testé et le garde précieusement pour d'autres applications.

    Bon, déjà un souci de moins : Pas d'objet caché dans ma feuille, si ce n'est ceux que je veux garder cachés. Par contre j'ai toujours le problème de la taille du fichier, qui vient de prendre près de 100 ko alors que j'ai allégé les textes et les commentaires dans les macros.

    A n'y rien comprendre ! Mais je ne lâche pas l'affaire aussi facilement !
    @ plus
    JR

Discussions similaires

  1. Taille de fichier Excel
    Par lucazzo dans le forum Excel
    Réponses: 1
    Dernier message: 30/06/2008, 17h06
  2. Problème taille de fichier excel
    Par Capsule dans le forum Excel
    Réponses: 7
    Dernier message: 18/06/2007, 18h42
  3. problème de taille de fichier Excel
    Par flore.darras dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2007, 11h46
  4. Réponses: 4
    Dernier message: 08/09/2006, 11h21
  5. Exporter résultats dans fichier excel [forms 6i]
    Par OUALASS dans le forum Forms
    Réponses: 4
    Dernier message: 30/05/2006, 19h38

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