Macros

From The Document Foundation Wiki
< Macros‎ | Calc
Jump to: navigation, search

Gérer la Feuille active

La feuille active d'un classeur est celle visible dans l'interface du tableur. La propriété permettant d'accéder à la feuille active est logiquement ActiveSheet.


Toutefois, cette propriété n'est pas directement accessible par l'objet classeur. Comme d'autres propriétés (gestion des ascenseurs, du fenêtrage, etc.) elle dépend du contrôleur dans lequel est présenté le classeur.


Ceci peut se comprendre aisément : le menu Fenêtre d'un classeur permet d'ouvrir une nouvelle fenêtre dans laquelle on pourra choisir d'afficher une autre feuille que celle de la fenêtre précédente. Pour un classeur ouvert on peut donc avoir des feuilles différentes affichées. En revanche, une seule de ces fenêtres est réellement la fenêtre active : il s'agit de celle figurant dans la fenêtre sélectionnée. Ainsi, la saisie de données au clavier n'alimentera les cellules que de cette feuille.

La syntaxe à respecter passe donc par l'objet CurrentController de la manière suivante :

thiscomponent.currentController.activeSheet

Par exemple, pour afficher le nom de la feuille active (la propriété Name permet de connaître le nom d'une feuille)

msgbox thiscomponent.currentController.activeSheet.name


La propriété activeSheet est en lecture-écriture, c'est-à-dire qu'elle permet d'accéder à la feuille active mais aussi de changer de feuille active. Il faut pour cela affecter à cette propriété un autre objet feuille obtenu par exemple par une commande du type :

LibONewFeuilleActive = thiscomponent.Sheets.getByName("Bilan")
thiscomponent.currentController.activeSheet = LibONewFeuilleActive