VBA: Centrer l’écran sur la cellule spécifiée

Il peut être pratique de centrer la fenêtre de Excel sur une cellule particulière. Le code VBA suivant va afficher la cellule choisie au centre de l'écran. Surtout si on travaille avec des fichiers dont le contenu est "fort étalé" ou dans le cas où vous voulez attirer l'attention de l'utilisateur sur une partie précise de la Feuille de votre Classeur.

Vous pouvez donc, par exemple figer la première ligne de votre Feuille et y placer des boutons qui, lors du click, vous "transporteront" à la section souhaitée de votre Feuille…

Remarque: Si la cellule ne peut pas être affichée au centre exact de la fenêtre, la macro va placer la cellule le plus au centre possible. Ceci peur arriver par exemple le ligne ou la colonne de la cellule spécifiée sont inférieurs à la moitié des lignes/colonnes qui peuvent s'afficher sur l'écran – par ex. les cellules "Z5" ou "B135").

L'avantage de cette fonction est également qu'elle est très rapide et ne ralentira pas particulièrement votre macro VBA.

Fonction VBA pour centrer l'écran sur une cellule

Voici donc le code VBA de la fonction avec des commentaires pour une meilleure compréhension. Cette fonction utilise un argument du type Range: la cellule qui doit se trouver au milieu de l'écran. La fonction retourne un BooleanTrue si tout s'est bien passé, False si la Feuille n'a pas pu être centrée sur la cellule souhaitée…

Exemple d’utilisation de centrage de l'écran en VBA en Excel

L'exemple qui suit va centrer l'écran sur la cellule "AC251"… N'oubliez pas que pour que le code de cet exemple fonctionne, vous devez copier dans votre projet les deux codes (celui de la fonction plus haut et celui de l'exemple qui suit).

 

Et voici à quoi ressemblera la fenêtre une fois le code exécuté:

Excel/VBA: centrer l'écran sur une cellule (exemple)

Pour aller plus loin en Excel et en VBA

Voici quelques articles supplémentaires qui pourraient vous être utiles…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *