pierre nowak a écrit :
Jean-Francois Nifenecker
pierre nowak a écrit :
Dans OOo Calc,
 j'ai une petite macro qui écrit qq chose dans la cellule
sélectionnée par l'utilisateur

 J'aimerais ensuite déplacer la sélection sur la
cellule d'à
côté pour y inscrire un autre message.
quelle instruction
peut on  utiliser en OOo basic pour cela ?
L'enregistreur de
macros peut t'aider à trouver la réponse

L'enregistreur se contente apparemment d'enregistrer ce que l'on fait avec des
adresses absolues.

Le déplacement d'une case vers la gauche n'est pas enregistré
comme tel,
le code inscrit B6 puis C6 par exemple.
Y a-t-il moyen d'utiliser cet
enregistreur de manière à ce qu'il comprenne
qu'on ne veut pas aller de B6 à C6
mais d'une case quelconque à sa voisine ?

Une petite astuce : d'abord faire <home> (flèche diagonale) qui ramène à la première cellule de la ligne, puis <droite>. Cela permet, après avoir retiré le code inutile (celui du <home>), d'arriver à ce qu'on veut :

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())

end sub

C'est donc GoRight qui le fait, avec les arguments qui vont bien...

--
Jean-Francois Nifenecker, Bordeaux

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à