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]
