Bonjour à tous

Mon administration (dans un but d'économie) à décidé, dans un futur Proche (2 mois), de passer sous Open-Office. J'ai donc téléchargé Open Office (Version 3.0).

J'ai quelques macros à faire migrer, pour certaines pas trop de problème si ce n'est la syntaxe. Mai pour mes macros d'interruption c'est un autre problème.

Cela fait plusieurs jours que je planche sur l'interruption de changement de feuille. Grâce à Silkyroad que je remercie en passant j'ai commencé à appréhender la tâche à effectuer Avec Ceci.

Mais le problème je le rencontre aussi avec l'exemple donné c'est que çà double l'interruption. Autrement dit : 2 Feuilles changent d'état, une désactivation et une activation.

Voici la procédure (je n'ai pas beaucoup avancé).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Global oListener As Object 
Global oClasseur As Object 
Global iSh as object

Sub Init_Interruption()
     oClasseur = ThisComponent
    iSh = oClasseur.GetCurrentController().GetActiveSheet()
    Call Int_SheetChange()
end Sub
Sub Int_SheetChange 
      oListener = createUnoListener( "WbSh_Sel_" , "com.sun.star.beans.XPropertyChangeListener" ) 
      oClasseur.CurrentController.addPropertyChangeListener( "ActiveSheet" , oListener )
End Sub 

Sub WbSh_Sel_PropertyChange(oEvent)
'    Call Arret_GestionEvenement_SheetChange
    Call iWb_Sh_Selection(oEvent.Source.ActiveSheet, iSh)
    iSh = oClasseur.GetCurrentController().GetActiveSheet()
'    Call Int_SheetChange
End Sub

Sub Arret_GestionEvenement_SheetChange 
      oClasseur.CurrentController.removePropertyChangeListener( "ActiveSheet" , oListener ) 
End Sub
la ligne en rouge, si je la mets ça fonctionne (Mais 1 fois : logique). Si je relance ensuite la gestion la gestion d'interruption (En Bleu) à devient catastrophique.
Je ne peux pas vous cacher que j'essaye de retrouver la gestion d'interruption classique d'Excel.

Merci à vous pour vos réponses