Personnellement je répugne à consulter les collections Sheets ou Worksheets dans les macros, Je préfère accéder directement aux objets Worksheet implantés par l'application hôte, comme ça on peut renommer les feuilles si on veut sans que ça perturbe les macros. Bien entendu je renomme les objets Worksheet, qui en assument la représentation auprès de VBA, d'un nom mnémonique commençant généralement par Wsh, car Feuil1, Feuil2 et Feuil3 ça ne signifie rien qui puisse aider à s'y retrouver.
Attention le code de l'objet Worksheet Feuil1 (Menu) est muni d'une Sub Worksheet_Change qui calcule les menus écartés. Il faudra déplacer ce code dans celui de celle qui subira les modifications.
La propriété Value d'un Range de plusieurs cellule est un tableau dynamique à 2 dimensions, toujours basé 1, quel que soit la position dans la feuille de la cellule haut gauche de la plage qu'il représente.