Le code écrit avec la première version de VBA (VBA4 sur Excel5) fonctionne toujours sur les versions actuelles d'Excel... Même plus l'ancien système macro antérieur à VBA, les macros Excel4 (Excel4 est la première vraie version d'Excel largement diffusée) est toujours fonctionnel... Pas de souci de ce point de vue.
Autant que je me souvienne le seul élément que j'ai eu à changer au fil des versions dans mes programmes perso concerne une inscription dans un objet WordArt, l'inscription s'orientait perpendiculairement à l'alignement initial... soit un composant externe utilisé par Excel, ce qui reste très marginal.
Et au fil du temps, les programmes qu'on fait, on les maintient, on les rénove... Rien n'est immuable.
Macro à n'utiliser qu'une fois par an ? Je ne sais pas, le fichier présenté ne comporte que 6 mois ! Ce serait donc deux fois ?
Ceci dit je n'ai fait que proposer les alternatives qui se présentent en première analyse... sachant que je ne conçois pas de planning affichant 1 an ou 6 mois sur une même feuille... (Affichage maxi d'un mois, si mensuel, une ou deux semaines si hebdo, enregistrement automatique des données, stockées de façon masquées, et navigation dans la feuille planning affichée sur toute période de temps qu'on souhaite : dans ces conditions, un programme modifiant la zone affichée intervient pour le moins des dizaines de fois, pour changer instantanément de vue tant en ce qui concerne le calendrier que les données de planning).
Mais en ce qui concerne le présent sujet, les choix appartiennent à l'intéressé !