Macros
TDF LibreOffice Document Liberation Project Blogs communautaires Weblate Nextcloud Redmine Ask LibreOffice Donner
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