Bonjour, Salut Ric !
La meilleure méthode est celle que t'indique Ric.
Dans ce domaine, tu travailles sur l'affichage. Si je passe mon temps (une bonne partie ) à conseiller de bannir les Select, Activate et consorts du code, je précise dès lors qu'il ne s'agit pas d'affichage... On a intérêt à ce que VBA travaille sans rien montrer tant qu'il n'a pas fini, car il sera plus rapide, mais dès lors qu'il s'agit de mettre au point ce que regarde l'utilisateur, on est plus ou moins obligé de jouer avec les éléments actifs qui sont justement ceux que l'on voit.
Tu peux atteindre facilement ta fenêtre (tant que tu n'en utilises qu'une par :
ActiveWorkbook.Windows(1)
mais rien ne te garantit que la feuille que tu veux sera dans cette fenêtre tant que tu ne l'as pas activée, et l'objet parent de la fenêtre est le classeur, pas la feuille.
Dans ce cadre, si tu n'es effectivement pas obligé de sélectionner la cellule pour délimiter ton volet, ainsi que le montre Ric, une fois que tu as la bonne feuille dans la fenêtre, dans la mesure où tu dois opérer sur l'objet fenêtre pour figer les volets, ActiveWindow reste la meilleure façon de l'atteindre...
Pour ma part, un seul truc me chifonne encore dans la manoeuvre, c'est qu'en opérant en manuel on fige les volets sans actionner le fractionnement de la fenêtre, alors qu'en VBA sans FreezePanes (qui en effet active le fractionnement) si les volets se délimitent, ils ne se figent pas, et je n'ai pas trouvé comment obtenir exactement le même résultat qu'en manuel.
Cordialement.