Vincent Mollimard a écrit :
Bonjour,
Je cherche a coder une fonction booléenne qui me renvoit vrai si une cellule est en arrière plan transparent. Depuis quelques heures, je parcours quelques docs mais je coince. Il y a une fonction de l'api qui fait ça mais je n'arrive pas à l'utiliser :
**************
Function EstTransparent( <référence cellule> As <le type qui va bien>) As Boolean
EstTransparent =ThisComponent.currentController.activeSheet.getCellRangeByName(<référence cellule>).IsCellBackgroundTransparent
End Function
**************
Ca tombe bien, car IsCellBackgroundTransparent est booléen.Mais comment faire référence à une cellule particulière ? Le but est de pouvoir utiliser la fonction dans une formule de cellule, typiquement un truc du genre :
=si(esttransparent(B5);"transparent";"pas transparent")
Comment passer le paramètre qui référence la cellule
Bonsoir,
J'utilise la méthode d'écriture dans une cellule pour pouvoir relire ensuite :
Sub Macro1
Dim oDocument As Object, oSheet As Object, oCell As Object
Dim Col as Integer, Lig as Integer
Dim EstTransparent as Boolean
oDocument = ThisComponent
oSheet = oDocument.Sheets.getByName("Feuille1")
EstTransparent =ThisComponent.currentController.activeSheet.getCellRangeByName("a1").IsCellBackgroundTransparent
Col=1
Lig=0
oCell = oSheet.getCellByPosition(Col,Lig)
oCell.setValue(Abs(EstTransparent))
End Sub
Dans cet exemple je teste la cellule A1 de la Feuille1 et je retourne 0 (False) ou 1 (True) dans la cellule B1.
Ensuite, dans une autre cellule :
=SI(B1=1;"Transparent";"Pas transparent")
J'espère répondre à ta question
Bon surf Christian
-- Visitez http://christianwtd.free.fr/ pour débuter avec Calc, d'OpenOffice.org
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]