Bonjour,

S'il s'agit de mettre à jour une plage de base de données, ceci devrait 
correspondre à votre besoin :

option explicit

'1/ enregistrer un ecouteur aupres du controler
'associer cette fonction à l'evenement "Ouvrir le document" du document calc.
sub main

        
thisComponent.currentController.addActivationEventListener(createUnoListener("_actList_",
 "com.sun.star.sheet.XActivationEventListener"))

end sub

'2/ a chaque evenement, parcourir la liste des plages existantes et actualiser 
celles correspondant a la feuille active.
sub _actList_activeSpreadsheetChanged(event as object)
        
        dim databaseRangesEnum as object
        dim databaseRange as object
        
        databaseRangesEnum = 
event.source.model.databaseRanges.createEnumeration()
        do while (databaseRangesEnum.hasMoreElements())
                databaseRange = databaseRangesEnum.nextElement()
                if(databaseRange.referredCells.spreadSheet.name = 
event.activeSheet.name) then
                        databaseRange.refresh()
                end if
        loop
        
end sub
        
sub _actList_disposing(event as object)
        'nothing to do
end sub


Cordialement,
T. Vataire

----- Mail Original -----
De: [email protected]
À: [email protected]
Envoyé: Lundi 19 Octobre 2009 13:49:56
Objet: [prog] calc et focus

bonjour
j'ai un classeur avec plusieurs feuilles dont 3 qui sont bases sur une 
requete sql de la base OOo de mon projet
quand je suis sur une de ces feuilles je dois faire clic droit et 
actualiser pour qu'il prenne en compte les modifs enregistrées dans la 
base
comment puis-je le faire quand le focus vient sur la feuille
j'espere m'etre fait comprendre !
merci
herve

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Répondre à