Réduire taille d'un fichier

Salut à tous

Quelqu'un à un truc pour réduire la taille de mon fichier pour ne plus qu'il «Bug» ? J'ai essayé la majorité des trucs qu'il conseille sur internet mais mon dossier «Bug» toujours autant....

Merci d'avance

Déjà tu supprimes toutes les lignes à partir de la 380... Il va retrouver une taille de guèpe !

Après tu peux faire un peu de ménage dans les macros.

ça serait bien également de faire le ménage dans les noms qui ne servent à rien dans le Gestionnaire de noms...

Et puis "quélot" devrait être défini avec décaler : ça permettrait de supprimer la macro RESET !

Après pour les bugs il faudrait les décrire :

A quel moment ils surviennent ? Quel est le message ?

A+

Merci pour la réponse

Avec ta version déjà plus rapide, par contre mes macros ajouter et transférer ne fonctionne plus. En fait le véritable problème c'est que chaque fois j'écris dans une cellule... Dans le bas à droite il m'apparait : Calcul:( 8 Processeur(s) : %

Je ne peux rien faire et tout tombe comme geler jusqu'à ce que j’aie atteint 100% ! Je ne comprend pas pourquoi il à commencé à faire cela, avant tout était correct

Merci

Je n'ai pas modifier les macros : le fait de les rassembler dans un même module ne modifie en rien leur fonctionnement.

D'ailleurs il n'y avait pas de macro "transférer"

Pour la macro Copier, je ne peux pas te dire grand chose mais à tout le moins elle me parait zarbi :

Elle commence par :

Set plage = Selection 
Plage. Copy

alors qu'il n'y a aucune sélection d'effectuée ! Dans ces conditions les bras m'en tombent...

D'ailleurs il faudrait revoir un peu ces macros parce que aucune plage n'est définie en dynamique donc toutes les macros travaillent sur plusieurs milliers de ligne... C'est pas franchement top !

Je ne peux pas m'en occuper ce soir... Pour moi le marchand de sable est passé !

Sur le moulinage et l'occupation des proc, je ne ne peux pas te dire grand chose à cause des liaisons : Tu es en mode liaisons automatiques et recalcul automatique donc c'est pas très étonnant que le proc vérifie TOUSSA...

Et puis il y a en plus tes histoires de couleurs... Moi je suis très sceptique sur cette manière de calculer. Quand on se compliquer la vie YA rien de mieux... Ç'est très tendance, ça fait presque festif toutes ces couleurs mébon...

A+

Salut,

J'ai recommencé ce que tu avais fait en prenant soin d’enlever tous les trucs inutiles, mais avec le document original et j'ai dut mettre la macro «transfert» et «ajout» à part sans quoi il ne fonctionne pas ! Sa semble assez rapide partout sauf pour le module transfert, lorsque j'utilise le bouton transfert sa prend une éternité.

PS: Le macro transfert est en fait le macro copier

Merci pour ton temps

17reduit-2.xlsm (186.01 Ko)

Bonsoir,

il y a aussi "Dégraisser le Mammouth" de dubois : https://forum.excel-pratique.com/viewtopic.php?p=121537#p121537

@ bientôt

LouReeD

Je passais que tu avais compris que tes macros n'ont ni queue ni tête.

à commencer par la macro transfert :

Je t'avais signalé déjà qu'elle commence par :

Set plage = Selection

Comme il n'y a aucune sélection d'effectuée elle commence n'importe ou : A1, Q26... tout est bon à prendre !

Bon ça ne l'empêche pas de démarrer quand même... mais dès la ligne suivante :

plg.PasteSpecial xlPasteValues

...tu as la Function SOMME_SI_COULEUR

...qui se met en branle et comme elle parcourt les 1152 cellules de la PlageSomme : il lui faut, on va dire un certain temps !

Ensuite un peu plus loin la macro "transfert" va travailler sur :

For Each Cel In .Range("a3:a1152"

donc relancer à chaque fois la Function SOMME_SI_COULEUR

...et comme elle parcourt les 1152 cellules de la PlageSomme : il lui faut cette fois un certain temps multiplié par 1150.

Si tu multiple ça par le nombre de seconde qui passent pendant "un certain temps" ça doit faire plus ou moins 20 minutes...

Après tout dépend de la vélocité de ton PC... S'il est un peu surbooké ça peu faire 1/2 heure s'il est jeune et musclé tu peut peut être gagner 5 minutes ! Mébon...

Alors moi je sais pas :

Vu que je sais pas ce que tu veux transférer ni ou...

Vu que je ne sais pas à quoi corresponde les couleurs (et je ne veux pas le savoir !)

Je ne peux te donner qu'un conseil : Laisse tomber ton arbre de Noel et toutes ces couleurs et surtout cette fonction ALAKON et pour le transfert tu fais une colonne "Joyeux Noël" disons dans la colonne O de ta Feuille "Suivi de Prod" ou tu mettra des indices de couleurs qui seront affectés par une Mise en Forme Conditionnelle.

Comme ça t'auras plus besoin de compter des couleurs sur 1150 lignes à la fois mais tu pourras utiliser une formule classique ou tu compteras sur la colonne O

Bon la grosse colère étant passée... Tu peux aussi essayer de mieux définir "sélection" et puis tu rajoutes :

Sub tranfert()
Dim derlig&, num&, sh As Worksheet, shc As Worksheet
Dim plage As Range, plg As Range, Cel As Range
     Application.ScreenUpdating = False
     Set sh = Sheets("Suivi de production")
     Set shc = Sheets("Suivi de commande")
     Set plage = Selection
     plage.Copy
Application.Calculation = xlCalculationManual     '********ligne à rajouter
     Set plg = sh.Range("c" & Rows.Count).End(3)(2)
     plg.PasteSpecial xlPasteValues
     Application.CutCopyMode = 0
     With sh
         derlig = .Range("c" & Rows.Count).End(xlUp).Row
         x = .Range("a" & Rows.Count).End(xlUp).Row + 1
         num = 0
         .Range(.Cells(x, 1), .Cells(derlig, 1)) = Date + 1
         For Each Cel In .Range("a3:a" & derlig)
             If Cel = Cel.Offset(-1, 0) Then
                 num = num + 1
                 Cel.Offset(0, 1) = num
             Else
                 num = 1
                 Cel.Offset(0, 1) = num
             End If
         Next Cel
     End With
     Application.Goto sh.Range("a" & derlig)
     shc.Activate
     plage.EntireRow.Delete
Application.Calculation = xlAutomatic     '****************ligne à rajouter
End Sub

Mais je ne suis pas certain que ça fera le job vu que je ne peux pas tester. (Je ne sais pas ce que tu veux transférer...)

A+

Bonjour,

ci joint votre fichier nettoyé avec le "Mammouth" :

il a été divisé par 5 ! Reste à voir s'il fonctionne

@ bientôt

LouReeD

Salut LouReed !

Oui Ben... J'étais à 164 Ko sans "mamouth" donc pas de quoi fouetter un chat !

Mébon le lien peut quand même servir pour les prochains visiteurs...

A+

donc pas de quoi fouetter un chat !

C'est sur, mais sur des objets invisibles et autre il est pas mal "le Mammouth" !

@ bientôt

LouReeD

Ici une "photo" de l'analyse :

analyse

Sur la feuille "suivi de production" est-il nécessaire d'avoir ces 13 objets ?

@ bientôt

LouReeD

C'est vrai que je ne m'en suis pas occupé vu qu'il y en avais au moins 3 ou 4 d'utiles, ça me semblait peu important vis à vis du résultat attendu. Mébon Je ne conteste pas l'utilité des dégraisseurs (pour en avoir d'ailleurs aussi produit quelques uns dans ma jeunesse...)

Dans l'immédiat perso ce qui me semble prioritaire c'est de restructurer cette feuille et surtout le système de calcul et de coloration !

Sur ce, je me retire de ce sujet : Je ne veux pas flooder la-dessus, j'ai d'autres chats "à fouetter !"

A+

Rechercher des sujets similaires à "reduire taille fichier"