Insertion lente

Bonjour à tous,

Jusqu'à maintenant j'ai toujours trouvées des réponses grâce à votre forum très complet mais là je bloque.

Ma situation est la suivante :

J'ai un fichier Excel contenant des macros qui marche très bien au départ ( je vous le met en pièce jointe "fichier-neuf").

j'ai développer ce fichier pour des utilisateurs, mais voilà plusieurs fois qu'on me le retourne parce qu'il ne marche plus ( PJ : "fichier-pb"), le fichier met trop de temps pour insérer une ligne ( vous pouvez faire le test manuellement (clic droit inserer)) ce qui fait crashé le tableur lors de l’exécution de la macro.

Je refais moi même le fichier de la même manière que les utilisateurs (copie conforme de ce qu'on ma retourné) et celui la il marche (PJ : "fichier-refait").

j'ai pu constater que le "fichier-Pb" faisait 146 ko alors que mon "fichier-refait" en faisait 52Ko alors qu'ils sont censés être identique.

j'ai vérifié dans les feuilles, rien de cacher, rien de plus imposant, bref d'apparence identique.

En fouinant un peu j'ai changé l'extension des deux fichiers "fichier-pb" et "fichier-refait" en .zip et j'ai extrait les dossiers qu'il contenait.

J'ai retenue 2 fichier d'extension .xml ("nom d'origine "sheet.xml" et "styles.xml") à chaque fichier Excel (4 fichier dans le zip "fichier-interne" "sheet-Pb","style-Pb" et "sheet-refait","styles-refait") qui ont une taille bien différente et assez lourde concernant le fichier Problème.

Il y à surement de grande chance pour que ça soit dût à mes macros qui font gonflés ces fichiers mais pourquoi que dans un cas, si c'est ça, on devrait toujours avoir cette situation.

Quelqu'un connait-il la raison de ce problème et de ce phénomène?

Ou quelqu'un aurait-il une piste (même quelque chose d'improbable ) ?

j'ai épuisé toute mes ressources alors j'espère qu'un petit génie pourra remédier à ce problème.

je vous remercie d'avance pour votre aide et d'avoir pris le temps de consulter mon problème qui n'est pas de la tarte j'ai l'impression.

Merci

16fichier-neuf.xlsm (47.62 Ko)
20fichier-pb.xlsm (145.56 Ko)

Bonjour Clément

Effectivement il met un temps énorme pour insérer une ligne

Problème : les mises en formes conditionnelles qui sont innombrables

Une MFC peut s'appliquer sur un ensemble de plage et non une MFC pour chaque ligne et chaque cellule

Voici ton fichier "nettoyé" et code modifié à regarder

A+

30fichier-pb.xlsm (48.46 Ko)

Bonjour Bruno,

Tout d’abord merci de m'avoir répondu et d'avoir pris le temps de regarder mes fichiers.

Oui je savais qu'un MFC pouvait s'appliquer sur une plage de cellule mais je ne pensais pas que ça allait ralentir mon fichier en faisant de cette manière, merci pour l'info j'aurais jamais pensé à ça.

Maintenant qu'est ce qui explique que lorsque moi je refait le fichier il marche alors qu'il y a autant de ligne donc autant de MFC ?

Quand tu dis "nettoyé" tu as juste rajouté la procédure SupMFC() pour qu'il remarche quand il y à une erreur et supprime les MFC. Parce que j'aurais d'autre fichier identique qui vont revenir et que je devrai reprendre c'est donc pour savoir ce que tu as fais.

Du coup là y à plus de MFC, si je les remets mais avec des plages de cellules j'aurais pas de problème? tu en pense quoi?

sinon je peut mettre la condition directement dans le code avec un bon IF et comme ça y aura rien qui ferra ralentir mon fichier.

Merci encore Bruno, je pensais que j'étais résigné à refaire le fichier à chaque fois.

Salut Clément

Maintenant qu'est ce qui explique que lorsque moi je refait le fichier il marche alors qu'il y a autant de ligne donc autant de MFC ?

A vérifier, quand tu fais gérer les MFC, si tu as x lignes identiques ou une seule de MFC

Quand tu dis "nettoyé" tu as juste rajouté la procédure SupMFC() pour qu'il remarche quand il y à une erreur et supprime les MFC. Parce que j'aurais d'autre fichier identique qui vont revenir et que je devrai reprendre c'est donc pour savoir ce que tu as fais

J'entendais par "nettoyé", j'ai supprimé toutes les MFC pour vérifier

Du coup là y à plus de MFC, si je les remets mais avec des plages de cellules j'aurais pas de problème? tu en pense quoi

Oui, normal qu'il n'y est plus de MFC (nettoyage)

Sachant que ton bouton "Ajouter document" insère 1 ligne au début de ton tableau, il faut impérativement que la zone de ta MFC comprenne la ligne d'entête de ton tableau et une ligne vierge de fin. Sinon tu te retrouveras avec le même souci

A+

OK merci pour ton aide, je suis content de pourvoir résoudre ce problème!

Merci!

Rechercher des sujets similaires à "insertion lente"