Je cherche à transposer une fonction écrite en vba en fonction pour OpenOffice Calc.
La fonction permet de compter le nombre de cellules d'une plage de donnée comportant la même couleur de fond. Elle rend possible la réalisation d'un planning d'équipe visuel où les différents types d'absences (congés annuels, RTT, congés pour formation...) sont matérialisés par des couleur différentes.
Le code original VBA est le suivant :
Code : Tout sélectionner
Function JourSelonCouleur(Plage As Range, CouleurCell As Range, Valeur As Double)
Dim cell As Range
For Each cell In Plage
If cell.Interior.ColorIndex = CouleurCell.Interior.ColorIndex Then
JourSelonCouleur = JourSelonCouleur + Valeur
End If
Next
End Function
Mon début de transposition en basic OpenOffice est le suivant :
Code : Tout sélectionner
function cooldl(CelluleReference As Object, Plage As Object)
Dim MonDocument As Object, MaFeuille As Object
Dim LaSelection As Object, mesValeurs As Object
Dim y1, CouleurBase As long
MonDocument = ThisComponent ' Le document utilisé est le document actif
MaFeuille = MonDocument.CurrentController.ActiveSheet ' La feuille utilisée est la feuillle active
CelluleBase = MaFeuille.getCellRangeByName (CelluleReference) 'Initialisation de la cellule de base
CouleurBase = CelluleBase.cellBackColor ' Récupération du code couleur de la cellule de base
LaSelection = Mafeuille.getCellRangeByName (plage) ' Initialisation de la plage sur laquelle on veut réaliser les comptage
Je butte sur la réalisation de la boucle qui lit les valeur de fond de cellule de chaque élément de la plage et qui incrémente le compteur.
Quelqu'un a-t-il une petite idée pour me permettre d'arriver à mes fins ?
Merci d'avance.