3 messages in org.openoffice.fr.progRe: [prog] [Calc]"récupérer" une sél...
FromSent OnAttachments
PonOooFeb 22, 2007 1:11 pm 
Bernard MarcellyFeb 23, 2007 1:57 am 
Francois GattoFeb 23, 2007 9:32 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] [Calc]"récupérer" une sélection de feuilles faite par l'utilisateurActions...
From:Bernard Marcelly (marc@club-internet.fr)
Date:Feb 23, 2007 1:57:55 am
List:org.openoffice.fr.prog

Message de PonOoo date 2007-02-22 22:12 :

J'aimerais récupérer toutes les feuilles sélectionnées par l'utilisateur afin de faire une recherche dans ces différentes feuilles (telle cellule est-elle vide dans toutes les feuilles sélectionnées). La sélection peut être continue ou discontinue.

Si plusieurs feuilles sont sélectionnées, une cellule sélectionnée dans la feuille active est répercutée sur chacune des autres feuilles sélectionnées. On a donc toujours plusieurs zones sélectionnées. Mais l'inverse n'est pas vrai : on peut sélectionner une seule feuille et plusieurs zones dans la feuille.

laSelection = thisComponent.CurrentController.Selection if laSelection.supportsService("com.sun.star.sheet.SheetCellRanges") then ' plusieurs zones dans une ou plusieurs feuilles print laSelection.RangeAddressesAsString else print "une seule zone, une seule feuille" end if

Dans le cas "plusieurs zones" l’objet laSelection fournit différentes fonctions (accessibles comme pseudo-propriétés en Basic) pour analyser les zones de la sélection et en déduire les feuilles sélectionnées :

.Count : nombre de zones .RangeAddresses : tableau des objets zones .ElementNames : tableau de String des adresses de zones .RangeAddresseAsString : toutes les adresses de zones sous forme de String

C’est plus clair avec quelques essais en utilisant Xray.

Bonne journée Bernard