Bonjour,
Bernard Siaud alias Troumad a écrit :
> Bonjour
>
> J'aimerai rendre actives des cases d'une feuille calc.
> C'est à dire, sans qu'elles aient l'ai de rien, quand on clique dessus,
> que les coordonnées de la case affichée s'inscrivent dans deux cellules.
> Tout en gardant cette fonction active, je souhaite pouvoir modifier le
> contenu de ses cases.
>
> Est-ce faisable ?
Oui ;-)
Voici un exemple :
option explicit
global oDoc as object
global oMouseClickHandler as object
const iClicksNumber = 1 'nombre de clics à détecter
sub StartMouseClickHandler
oDoc = ThisComponent.currentController
oMouseClickHandler = createUnoListener( "MCHApp_",
"com.sun.star.awt.XMouseClickHandler" )
oDoc.addMouseClickHandler( oMouseClickHandler )
end sub
sub StopMouseClickHandler
oDoc.removeMouseClickHandler( oMouseClickHandler )
end sub
sub MCHApp_disposing( oEvt )
end sub
function MCHApp_mousePressed( oEvt ) as boolean
MCHApp_mousePressed = false
end function
function MCHApp_mouseReleased( oEvt ) as boolean
dim oCurSel as object
dim oConv as object
dim iCol as integer, iLig as long
if oEvt.ClickCount = iClicksNumber then
oCurSel = thisComponent.CurrentSelection
oConv = thisComponent.createInstance(
"com.sun.star.table.CellAddressConversion" )
oConv.Address = oCurSel.getCellAddress
with oCurSel.RangeAddress
'Attention si dernière colonne
iCol = .StartColumn + 1
if iCol >= 255 then
msgbox( "Hep ! Limite atteinte.", 48, "OOoups !" )
iCol = iCol - 1
end if
iLig = .StartRow
end with
thisComponent.CurrentController.ActiveSheet.getCellByPosition( iCol,
iLig ).String = oConv.UserInterfaceRepresentation
end if
MCHApp_mouseReleased = false
end function
Francois Gatto
NB : non testé sous Windows, mais je pense qu'il n'y a pas de problème.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]