Bonsoir à tous.
En relisant finement le premier message, j'ai cru comprendre que la macro était déclenchée en feuille 2.
Donc l'utilisateur serait sur une feuille n, puis va sur la feuille 2, déclenche la macro, et à l'issue, doit se retrouver en feuille n.
Si c'est bien cela que tu veux:
1 - dans un module, tu déclares une variable public:
Public AncienneFeuille As String
2- dans la feuille "ThisWorkbook", tu mets:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name <> "Feuil2" Then AncienneFeuille = Sh.Name
End Sub(Remplacer éventuellement "Feuil2" par le nom de la feuille 2)
Cela enregistre la dernière feuille active, même si il y a rajout ou suppression d'autres feuilles
3- Enfin, à la fin de la macro de la feuille 2, tu ajoutes:
Worksheets(AncienneFeuille).Activate
Voilà, si j'ai bien compris ton problème (ce qui n'est pas sûr du tout), cela devrait marcher.
Bonne soirée.
Laurent.