Ce qui cloche est le non respect du modèle objet d'Excel !
Comme il n'y a pas de référence devant le Range du End(xlUp),
il est donc pris sur la feuille active au lieu de celle de destination !
Merci Marc cela fonctionne très bien sur mes fichiers test. Malheureusement le code bloque dans mon fichier réel qui est un peu plus complexe.
Il faudrait que je précise que la sélection porte sur la feuille active (car ma macro démarre d'un autre fichier et la sélection se fait sur ma feuille de départ) mais lorsque je rajoute à ton code ActiveSheet (ActiveSheet.Feuil1.Cells(1).CurrentRegion.Copy _...)
j'ai un bug 438 Propriété ou méthode non gérée par cet objet.
Je comprends en tous cas d'où vient le problème.
Je vais creuser.
Merci encore
Bonne soirée