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]

Répondre à