Sous Excel, c'était simple de réaliser une macro, même si elle mettait en
relation plusieurs feuilles (ou même plusieurs classeurs) il suffisait de
réaliser la tâche une fois et Excel s'y retrouvait tout seul dans les
passages d'une feuille à l'autre. Il était ensuite simple d'apurer
éventuellement sans grande connaissance une macro des lignes inutiles ou de
la modifier un tantinet.
Sous OOo je rame complètement dès qu'il s'agit d'avoir une macro opérant sur
deux feuilles OOo y perd son latin et n'est pas capable de prendre en compte
dans la rédaction automatique de la macro le changement de feuille (ou de
classeur). J'ai vu des modèles, mais franchement pour moi ce basic là, c'est
du chinois (malgré tout le respect que j'ai pour nos amis amateurs de riz et
de médecines douces).
J'avais un problème pour filtrer des données contenues sur un feuille
d'après des critères et vers une zone situés sur une deuxième feuille, Jean
Louis m'a aidé à le résoudre (apparemment le seul problème venait du fait
que j'essayais de renvoyer les données récupérées avec le filtre spécial
dans une zone d'extraction contenant déjà des entêtes de colonnes alors que
le filtre voulait réécrire les siennes, les mêmes mais les siennes). Merci
au passage à Nojid qui s'était proposé et à tous ceux qui ont cogité pour
moi.

Maintenant je veux affecter une macro à ce "filtrage" et là c'est le drame ;
immanquablement OOo plante quand j'exécute la macro parce qu'il n'a pas pris
en compte le changement de feuille.
Ma question : comment rédiger ce changement de feuille en basic, et ou le
placer dans ma macro.
La macro doit être lancée depuis un bouton se trouvant sur une feuille
"zones" aller sélectionner la base de données sur la feuille "données",
revenir sur la feuille "zones" pour choisir les critères du filtre spécial
et coller les données dans la zone d'extraction sur cette même feuille.

Ci-dessous la macro rédigée en auto par OOo, manque les changements de
feuilles

sub Extraction
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(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DbName"
args1(0).Value = "Données"

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

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataFilterSpecialFilter", "",
0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:FilterExecute", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$15"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())


end sub

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

Répondre à