[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 !

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

Messagepar OOo - Ekel » 18 Juin 2011 10:34

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   AgrandirRéduire
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é 315 fois
Dernière édition par OOo - Ekel le 18 Juin 2011 20:47, édité 1 fois.
Ekel

KUbuntu Cosmic Cuttlefish (18.10) : LibreOffice 6.1.4.2 Officielle
AMD Phenom(tm) II X4 955 3200 GHz
AMD Radeon HD 5770 Series
22" + 22"
12 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
 
Message(s) : 1139
Inscrit le : 10 Nov 2006 16:04
Localisation : F-Oise

Re: [Calc] Cellule couleur de fond

Messagepar Loopingss » 18 Juin 2011 11:05

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   AgrandirRéduire
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.
Apache OOo 4.1.0 fr (v officielles sur http://fr.OpenOffice.org) - LibO 4.1.5 Ubuntu 13.10 / Win XP / Win 7) - LibO 5.0.4 (Win 10)
Comment mettre un fichier en ligne - Mettre les bonnes balises dans les fils de discussion
Avatar de l’utilisateur
Loopingss
PassiOOnné
PassiOOnné
 
Message(s) : 687
Inscrit le : 17 Déc 2008 02:50

Re: [Calc] Cellule couleur de fond

Messagepar Churay » 18 Juin 2011 11:37

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...
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
 
Message(s) : 2666
Inscrit le : 30 Avr 2009 05:54
Localisation : CATALUNYA

Re: [Calc] Cellule couleur de fond

Messagepar bm92 » 18 Juin 2011 12:52

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
bm92
ManitOOu
ManitOOu
 
Message(s) : 2562
Inscrit le : 26 Nov 2005 14:42

Re: [Calc] Cellule couleur de fond

Messagepar Alain de La Chaume » 18 Juin 2011 17:03

Bonjour,

Et pour les couleurs très personnalisées, voir la macro en pièce jointe.
couleursRVB.odt
(12.19 Kio) Téléchargé 590 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
Alain de La Chaume
HédOOniste
HédOOniste
 
Message(s) : 1527
Inscrit le : 28 Sep 2008 13:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc] Cellule couleur de fond

Messagepar OOo - Ekel » 18 Juin 2011 20:47

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 Cosmic Cuttlefish (18.10) : LibreOffice 6.1.4.2 Officielle
AMD Phenom(tm) II X4 955 3200 GHz
AMD Radeon HD 5770 Series
22" + 22"
12 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
 
Message(s) : 1139
Inscrit le : 10 Nov 2006 16:04
Localisation : F-Oise


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Fredab et 3 invité(s)