Bonjour,
En exécutant une de mes macros en mode pas-à-pas j'ai pu trouver qu'une instruction de "révélation de ligne" (masquer <> révéler) prenait énormément de temps.
Là ou ça devient vraiment étrange, c'est que j'ai exactement la même instruction pour le même nombre de lignes sur une autre feuille mais là le traitement se fait en quelques millisecondes !
Ci-dessous le bout de code qui pose problème :
Et le bout de code identique mais dont le traitement est beaucoup plus rapide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets("MaFeuille").Columns(1).Cells.EntireRow.Hidden = False
A titre de comparaison, la première instruction prend 6,16 s pour s’exécuter alors que la seconde ne prend que 7,8 ms, c'est mille fois plus rapide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Sheets("MonAutreFeuille").Columns(1).Cells.EntireRow.Hidden = False
J'ai essayé de voir si une ligne en particulier posait problème en les révélant une par une et en mesurant le temps d'exécution, et j'ai mesuré que sur "MaFeuille" la révélation de chaque ligne indépendamment des autres prenait cent fois plus de temps que sur "MonAutreFeuille".
D'après vous, quelle peut-être la raison de ce temps anormalement long ? Si vous avez une autre solution pour révéler une ligne entière, je suis aussi ouvert à toute suggestion.
Partager