[Résolu] [Calc] Cellule couleur de fond

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1271
Inscription : 10 nov. 2006 16:04
Localisation : F-Oise

[Résolu] [Calc] Cellule couleur de fond

Message par OOo - Ekel »

Bonjour,

Par macro, je souhaite modifier la couleur de mes cellules. Grâce à Xray, je pense avoir compris qu'il me faut utiliser une syntaxe du style :

Code : Tout sélectionner

oMafeuille.getCellByPosition(0,iLPosition+iCompteur-1).CellBackColor = "#FFe7c6"
parce que cela semble fonctionner.

Cependant la couleur systématiquement obtenue est noire.

(La Macro est à lancer manuellement...)
Pièces jointes
Couleur cellule.ods
(13.36 Kio) Téléchargé 542 fois
Dernière modification par OOo - Ekel le 18 juin 2011 21:47, modifié 1 fois.
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 02:50

Re: [Calc] Cellule couleur de fond

Message par Loopingss »

Bonjour.
La propriété CellBackColor d'une cellule accepte ou retourne une variable de type Long et non une chaine comme vous utilisez.
Avec le code suivant, centré sur le cellule C2, vous pouvez tester le code de différentes couleurs après avoir changé manuellement la couleur de fond

Code : Tout sélectionner

Sub Main
oCell = ThisComponent.Sheets.getByName("Calendrier").getCellRangeByName("C2")
Couleur = oCell.CellBackColor
Print Couleur
End Sub
Les couleurs et codes suivants sont retrouvés :
- Bleu : 255
- Noir : 0
- Blanc : 16777215
- Jaune : 16776960
- Rouge clair : 16711680
COOorfialement.
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
Messages : 2668
Inscription : 30 avr. 2009 06:54
Localisation : CATALUNYA
Contact :

Re: [Calc] Cellule couleur de fond

Message par Churay »

Bonjour

Pour compléter la réponse de Loopings, il faudrait donc convertir la chaîne Hexa en valeur de type Long.
Il me semble d'ailleurs que OOo/LO n'utilise pas un # mais & pour l'Hexa.

Soit FFE7C6 = 16771014 et oCell.CellBackColor = 16771014
Soit on considère les composantes FF (R), e7 (G) et c6 (b) et on peut utiliser oCell.CellBackColor = RBG(255, 231, 198)

D'une manière générale, je ne m'embête plus trop :
- soit je mets une couleur à la main et j'utilise XRay pour connaître sa valeur numérique que j'utilise ensuite dans le code
- soit j'utilise l'extension RGB pour avoir la valeur de type long d'une couleur ou la valeur des composantes.
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 14:42
Contact :

Re: [Calc] Cellule couleur de fond

Message par bm92 »

Bonjour,
Menu Outils > Options > OpenOffice.org > Couleurs, puis cliquer sur le bouton Editer.
La palette affichée permet de choisir une couleur et obtenir les valeurs RVB en décimal.
Il n'y a plus qu'à utiliser la fonction Basic RGB(). Sachant que les arguments sont successivement le Rouge, le Vert (Green) et le Bleu.

Pour info, la représentation hexadécimale dans Basic est de la forme &HFFE7C6
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 14:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc] Cellule couleur de fond

Message par Alain de La Chaume »

Bonjour,

Et pour les couleurs très personnalisées, voir la macro en pièce jointe.
couleursRVB.odt
(12.19 Kio) Téléchargé 993 fois
Exécuter aMain.main

Bien cordialement, Alain
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1271
Inscription : 10 nov. 2006 16:04
Localisation : F-Oise

Re: [Calc] Cellule couleur de fond

Message par OOo - Ekel »

Bonsoir,

Merci à tous les quatre pour cette leçon, je ferai davantage attention à ce genre de détails et vais continuer à me pencher sur Xray...

Mon projet avance doucement mais plus sûrement désormais.

Cordialement.
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Verrouillé