Dans mon projet, j'ai négligé l'aspect déclenchement de mes listeners.
Lors de précédents posts, le problème du listener qui envoie un email sur niveau d'alerte a pu être réglé (Merci Pierre-Yves Samyn!)
Il m'en faut 7 autres, je devrai m'en sortir en changeant les cellule référence et les niveaux d'alerte.
Cependant j'ai négligé l'aspect ON/OFF des alarmes...je m'explique:
Le soir venu je laisse mon PC tourner et je lance les listenersB (alarmes) si certaines alarmes se déclenche pendant la nuit(elle ne se déclencherons qu'une fois),
il se peut que d'autres soient encore en veille, et au petit matin je dois pouvoir les mettre "OFF".
Pour cela j'ai penser créer une liste (ON/OFF) dans une cellule (MONITOR S24 du document joint) et lui assigner un listenerA qui réagit à l'évènement ON/OFF.
Si "ON" le listenerA appelle le listenerB de la cellule O8, Si "OFF" les listeners A et B sont "OFF".
Ayant 8 alarmes à créer je doit aussi avoir 8 cellules du type "ON/OFF", cela peut faire beaucoup et je me demande si il n'y a pas un moyen plus simple
que de créer 16 listeners et 8 removelisteners....cela dit je dois pouvoir gérer chaque alarme individuellement, c'est important.
Ci-dessous le code du listener pour cellule "ON/OFF" qui ne fonctionne pas bien sûr!
Code : Tout sélectionner
option explicit
Global PysCell9 as object
Global PysListener as object
Sub PysListenerAdd_DFPL
with thisComponent.sheets.getByName("MONITOR")
PysCell9=.getCellRangeByName("S24")
End With
PysListener = CreateUnoListener( "Pys_", "com.sun.star.util.XModifyListener" )
PysCell9.AddModifyListener(PysListener)
End Sub
Sub PysListenersRemove
' Procédure à appeler pour arrêter le listener
PysCell9.RemoveModifyListener(PysListener)
set PysListener = nothing
End Sub
Sub Pys_Disposing
' Procédure nécessaire à l'arrêt du listener même si on n'y fait rien
End Sub
Sub Pys_Modified(oEvent)
if PysCell9.value ="ON" then
PysListenerAdd_DFPL
PysListenersRemove
Else
PysListenersRemove_DFPL
end if
End SubAyant passé quatre jours et quatre nuits la dessus, la fatigue commence à se faire sentir( c'est peu de le dire!) et j'èspere malgré tout avoir été assez précis.
En vous remerciant
