Bonjour,
Déjà, est-il nécéssaire de passer par du VBA ? En collant des données à la main, il est possible d'aller dans "collage spécial" pour choisir de ne coller que les valeurs. Cela fera la même chose que votre code, mais avec la possibilité d'annuler.
Si pour une raison quelconque vous voulez absolument faire cela en VBA, je pense que la commande "Application.OnUndo" présente une piste de recherche intéresante. Je ne l'ai moi-même jamais utilisée, mais l'aide microsoft indique qu'elle permet de définir la procédure à appeler lorsque l'utilisateur clique sur "annuler" ; peut être serait-il possible de sauvegarder les données de la feuille avant de coller les valeurs (dans un tableau, ou dans une autre feuille par exemple), et de créer une procédure qui récupererait ces valeurs et les remettrait sur la feuille de base si l'utilisateur clique sur annuler ?
Cordialement,