trabice : si la copie est synchrone (donc bloque le programme tant qu'elle n'est pas finie), pas besoin de faire un sleep : il se fait tout seul.
Si la copie est asynchrone, et que tu ne veux rien éxécuter tant que la copie n'est pas finie, ta méthode ne suffit pas : elle ne bloquera pas l'éxécution du reste de la macro, elle ne fera qu'afficher une feuille => ce n'est pas la solution !
Un sleep reste, je pense, la meilleure solution : tu fait une boucle :
while (fichier non copié)
Sleep 1000
Wend
Ainsi, tu n'occupe pas 100 % du processeur durant la copie, ce qui est le cas avec une simple boucle
while (fichier non copié)
DoEvents
Wend
J'utilise ce genre de code depuis des années, et ca marche à merveille !
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/