Bonjour,
Bernard Siaud alias Troumad a écrit :
Francois Gatto a écrit :
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.
Je viens (enfin) de l'inclure dans mon programme de scrabble : ça marche ;)
Okay !
Pourrais-tu redonner un lien vers ta réalisation, stp ?
L'hiver approche ;-)
Francois Gatto
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]