Remplacer une couleur de cellules dans calc

Bonjour,

Je cherche depuis un moment comment résoudre mon problème, en vain.
Pour faire simple, j’ai un tableau avec beaucoup de lignes et colonnes que j’ai colorisées en gris clair.
Toutefois lors de l’application de ma couleur, ayant fait plusieurs sélections, je me rends compte que le gris utilisé n’est pas le même partout.
Plutôt que de tout sélectionner à nouveau, j’aimerais pouvoir remplacer le gris clair par du gris foncé. Je ne vois pas bien comment introduire une fonction du type “si couleur = gris clair, appliquer couleur = gris foncé”.

Est-ce qu’une telle fonction est possible dans calc ?

Toute aide est la bienvenue. Merci d’avance !

Pour simplifier votre tâche, vous pouvez utiliser le menu Données - Filtre automatique, puis trier par couleur ; une colonne à la fois.
Cela pourrait peut-être être plus simple avec une macro (mais je ne sais pas comment).

en:
To simplify your task, you can use menu Data - AutoFilter, then sort by color; one column at a time.
Maybe can be simpler with a macro (but I don’t know how).

Macros/Basic/Calc/Ranges - The Document Foundation Wiki
Fonction RGB

sub test
  changeCellColor( RGB(0,0,0), RGB(0,255,0)  )
End Sub


Sub changeCellColor(source as Long,  target as Long)
    range = ThisComponent.getCurrentController().getSelection().RangeAddress

    for r = range.StartRow to  range.endRow
        for c =range.StartColumn to range.EndColumn
            cell = ThisComponent.CurrentController.ActiveSheet.getCellByPosition(c, r)
            print r & ", " & c & ": " &  r_g_b(cell.CellBackColor)
            if   cell.CellBackColor = source then cell.CellBackColor = target
         next
    next
End Sub

Function r_g_b(color as Long)
   r_g_b = red(color) & ", " & green(color)  & ", " & blue(color)
End Function
1 Like