Bonsoir,
vos feuilles à importer sur l'onglet base, ont elles toutes la même structure ?
A priori au niveau des tableaux ils ont tous 23 colonnes, avec les données ordonnées de la même manière, non ?
Solution première, mettre ne début de votre code ces trois lignes de commandes :
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Bon je sais la deuxième n'est pas utile vous pouvez ne pas la mettre.
En fin de code vous faites l'inverse :
Application.EnableEvents = True
Application.Calculation =xlCalculationAutomatic
Là encore la première ligne est à mettre que si vous avez mis la seconde dans la partie du haut. Pour le ScreenUpdating, vous pouvez le passer à True mais ce n'est pas nécessaire c'est automatique avec le End Sub (tout comme pour un On Error Resume Next s'il faut l'annuler juste avant de sortir de la sub...)
Et principalement, au lieu de faire des copier/coller de sheets à sheets, il vaut mieux passer par des tableaux "VBA". Je ne connais pas leur limites mais ils permettraient peut-être de créer un tableau unique qu'il suffit d'injecter une seule fois sur la feuille base une fois toutes les données récoltées.
Et s'ils ne sont pas assez grand alors passer par de tel tableau sous VBA vous permettra de faire "l'échange" de données beaucoup plus rapidement que de travailler directement sur la feuille : en effet les accès feuilles par VBA sont chronophages.
Pour votre fichier test, il aurait été intéressant d'avoir trois ou 4 feuilles représentatives pour les tests.
@ bientôt
LouReeD