Je pense que beaucoup de recours aux objets du style "activeCell",
"activeWorkBook", "activeSheet", dans Excel sont des héritages de
l'enregistreur de Macro de VBA. Cet enregistreur est un vrai "+" pour
celui qui n'a que peu de notions de programmation, mais est un fléau par
d'autres côtés.
Il est par exemple particulièrement dangereux d'utiliser un
"activeWorkBook" quand l'utilisateur, parfois impatienté par le temps
d'exécution de la macro, change le classeur affiché, "juste pour
vérifier un résultat" intermédiaire" : C'est ainsi qu'un classeur de
référence voit par exemple ses données détruites.
Je t'invite donc à instancier dans des objets tout ce qui peut l'être et
à oublier définitivement, ou le plus possible ces notions liées à "ce
qui est en cours". Un bon moyen pour cela est de lire complètement le
livre de MM Marcelly et Godard et d'essayer d'adapter chaque exemple à
une préoccupation qui nous est courante.

Ceci étant, selon les objets que tu auras instanciés, si !, bien sûr !,
il existe aussi des "currentController", des "activeSheet" et autre
merveilles qui, je le répète une fois de plus, doivent à mon sens être
évités le plus possible. Pour "activeCell", vois si la
"currentSelection" du document ou si la "Selection" du Controller ne
ressemblent pas à ce que tu cherches. Attention il peut, dans le cas de
OOBasic, s'agir d'une cellule ou d'un groupe de cellules. Tu devras
séparer les cas selon les services "supportés" par la sélection. Tu
trouveras une utilisation de la méthode 'supportsService' qui sert
précisément à cela dans la bible de MM MM Marcelly et Godard.

Cependant, encore une fois, j'invite chacun à réfléchir à ce qu'implique
l'utilisation d'OpenOffice : on ne fait pas de l'"Excel" sous "Calc".
Chaque outil a ses propres avantages et inconvénients. Il faut donc
repenser nos habitudes d'écriture de macros en fonction des possibilités
des outils.
Pour les coordonnées relatives, vois si les méthodes d'accès par
position dans une zone ne répondent pas à ta demande. Un détail
cependant, les fameux "offset" d'Excel ne sont pas des modèles de
lisibilité, il en est de même avec les méthodes d'accès relatives à une
zone dans Calc.

Mille excuses pour cette digression, mais comme tu avoues être nouveau
converti aux macros d'OpenOffice, je voulais t'inviter à plonger encore
plus à fond.

Bonne journée et bonnes découvertes
Jean-Marc


[EMAIL PROTECTED] a écrit :

> Bonjour à tous,
>
> je suis adepte d'OOo depuis un certains temps, mais je n'avais toujours
> pas franchi le pas des macros.
> Quelques petits essais sous Excel, pour lequel le code me paraissait
> très simple.
> J'ai commencé à lire "Programmation pour Open Office" de Marcelly et
> Godard, qui je trouve est très bien fait. Mais le but n'est pas de faire
> de la pub.
> Il y a une chose que je n'ai toujours pas trouvée et qui me manque par
> rapport à Excel.
> Dans ce dernier, il est possible d'indiquer au logiciel de fonctionner
> en coordonnées relatives pour les cellules, ce qui est très utile quand
> on veut considérer que la cellule active est le point d'origine pour
> toutes les actions qui vont suivrent.
> De ce que j'ai vu, et peut-être mal compris, dans OOo, Calc considère
> toujours la cellule d'origine comme étant la cellule A1.
> Existe-t-il une commande ou une méthode équivalente à ActiveCell.
> Merci pour votre réponse.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


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

Répondre à