Re:Zoom auto qui s'ajuste à chaque largeur de feui
Bonjour Marc,
Aucun problème, je vais essayer de t'expliquer en détail ces 5 lignes de code....
Le but étant de vouloir appliquer un zoom automatiquement sur la fenêtre en englobant les seules colonnes visibles de la feuille, la manipulation retenue consiste donc à sélectionner une plage représentant ces colonnes visibles sur une seule ligne (c'est suffisant pour un zoom) et d'appliquer ensuite le zoom sur cette sélection.
Tout comme mon ami Hervé, j'ai retenu la procédure évènementielle
Workbook_SheetActivate() de l'objet
ThisWorkbook car cet évènement se déclenche à l'activation de chaque feuille du classeur (la macro sera donc valable pour toutes les feuilles du dit classeur).
Il convient donc de définir la plage retenue pour cette sélection :
[ol][ul][li]Manuellement, voici comment je procèderais :
Sélection de la première ligne de la feuille (en cliquant sur l'entête de ligne), puis menu
Edition /
Atteindre /
Cellules..., choisir
Cellules visibles seulement, puis
OK pour valider.[/li]
[li]Par macro, c'est exactement la même démarche. Tu peux d'ailleurs le vérifier avec l'enregistreur de macro et en refaisant la manipulation précédente.
Tu obtiendras quelque chose comme ça :
Rows('1:1').Select
Selection.SpecialCells(xlCellTypeVisible).Select
Que tu peux ensuite simplifier comme ça :
Rows(1).SpecialCells(xlCellTypeVisible).Select
J'utilise pour ma part la valeur
12 qui est l'équivalent de l'argument
xlCellTypeVisible.[/li][/ul][/ol]
ActiveWindow.Zoom = True
Range('A1').Select
Permet ensuite d'ajuster le zoom automatiquement sur la sélection en cours et de sélectionner ensuite la cellule A1.
En espérant avoir pu t'éclairer...
Cordialement,