Je me souviens avoir traité il y a quelque temps une macro faisant une manipulation assez ressemblante à celle-ci !
Et je dois avouer que ce n'est pas particulièrement plaisant de remettre sur pieds un code semblant bâti par un esprit particulièrement retors !
Mais avec ta macro censée faire une opération relativement simple, on atteint des sommets
Une flopée de variables déclarée en-tête, une autre flopée en cours d'exécution, dont un bonne moitié n'est pas utilisée, et un certain nombre sont inutiles...
Une série de boucles imbriquées dont toutes sauf une n'ont aucune utilité, ce qu'elles font n'étant jamais utilisé !
Et je passe sur les Activate et autres morceaux de code enregistré inutiles...
Je crois que si tu veux gagner du temps, tu supprimes tes 25 modules (de toutes façons c'est 24 de trop !) et tu redéfinis les procédures à mettre en place car il sera plus simple de tout reprendre à zéro.
Cordialement.