[Résolu] MFC échelle de couleur sur format texte

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.

[Résolu] MFC échelle de couleur sur format texte

Messagepar shari » 11 Mai 2020 12:13

bonjour à tous, j'ai une plage de cellules dans laquelle on trouve du contenu au format texte puisqu'il s'agit d'une concaténation d'autres valeurs. Elles apparaissent donc ainsi 84(12) par exemple.
Or, je souhaiterais y appliquer une MFC type "échelle de couleur". Ça n'est évidemment pas possible puisqu'il s'agit de format texte, mais j'aurais souhaité pouvoir reproduire le résultat de la MFC appliquée sur les cellules dont sont extraites les données.
Au cas ou ce ne serait pas clair, un p'tit fichier joint.
Merci d'avance aux contributeurs
Pièces jointes
test MFC.ods
(8.54 Kio) Téléchargé 38 fois
Dernière édition par shari le 24 Mai 2020 06:51, édité 4 fois.
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar Jeff » 11 Mai 2020 17:42

Bonjour,

Je n’utilise pas LibO, mais tu devrais (re?)lire la FAQ sur le formatage en échelle de couleur :
https://wiki.documentfoundation.org/Faq/Calc/142/fr

Le dernier exemple (donc sur la dernière illustration) montre que l’on peut indexer les valeur min, max et centile sur d’autre cellules.

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Emmabuntus Debian Edition 3 Buster 32 bits, sur Ubuntu 18.04.1 x64 (Bionic Beaver), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8341
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 11 Mai 2020 18:06

bonsoir, et merci pour cette redirection vers l'aide en ligne.
Cependant, dans l'exemple, est simplement illustré le fait qu'on peut modifier les valeurs d'étalonnage de l'échelle avec des valeurs extraites ailleurs. Mais ça ne permet pas de créer une échelle de couleurs dans des cellules "textes".
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar jeanmimi » 11 Mai 2020 19:57

Bonjour,
Comme le formatage conditionnel Echelle de couleur ne fonctionne pas sur des textes, la solution va sans doute aller vers une Macro.
Celle-ci devra identifier la couleur de chacune des cellules de la colonne E (code RGB) puis coller cette valeur de couleur dans l'arrière-plan de la cellule en vis à vis de la colonne G, et cela jusqu'à la dernière cellule de la plage de données.
S'il n'y a pas de meilleure solution, tu devras reposter ta demande dans la section Macro du forum.
LibreOffice Version : Version : 7.0.1.2 (x64)(13 septembre 2020)
Adoptopen JRE ou Oracle JRE (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15450
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: MFC échelle de couleur depuis autres cellules

Messagepar Jean-Louis Cadeillan » 11 Mai 2020 21:11

Bonsoir,
Je n'ai pas réussi, dans la MFC Échelle de couleurs, même en utilisant formule en lieu et place de Min et de Max. La formule est là pour aller chercher des valeurs seuils ailleurs que dans la plage visée, mais ces seuils doivent être utilisés par rapport aux valeurs numériques de la plage visée, donc ça ne résout pas le problème.
On peut contourner en utilisant des styles, nommés 1 à 14 en utilisant les mêmes couleurs que dans la MFC Échelle de couleurs et en utilisant la formule de MFC suivante :
Code : Tout sélectionner   AgrandirRéduire
STYLE(GAUCHE(G6;TROUVE("(";G6)-1))
si on veut être indépendant des données de la colonne E ou bien
Code : Tout sélectionner   AgrandirRéduire
STYLE(E6)
sinon. Mais bon, cette solution n'est pas satisfaisante dans la mesure où elle crée une palette figée et non dynamique, contrairement à la MFC Échelle de couleurs.
Le wiki donne la méthode de calcul de cette échelle de couleur : il manque juste une fonction du style COLORIER (Cellule;R;V;B) et ça y a pas (j'ai retrouvé de plus ancienne tentatives, mais plus compatibles avec LibO). Pas vu d'extension non plus.
Cordialement,
Jean-Louis
Dernière édition par Jean-Louis Cadeillan le 14 Mai 2020 00:47, édité 1 fois.
LibO 6.3.6.2 (x64 avec Java 1.8.0_241) et AOO 4.1.7 (avec Java x32 1.8.0_261), Windows 7 Édition Intégrale 64 SP1, (Domicile)
LibO 5.4.1.2 (x86) sous Ubuntu LTS 16.04.1, noyau 4.4.0-93 et Xfce 4.12, Java (x86) 1.8.0_131 (Travail) [obligation de version]
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
 
Message(s) : 5025
Inscrit le : 03 Jan 2009 00:56

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 14 Mai 2020 00:39

Bonjour à tous,

Une éventuelle solution dans le fichier joint :
Format1.png

Le seul moyen que j'ai trouvé est de redonner à la cellule son caractère numérique pour que le formatage conditionnel s'applique, tout en conservant l'affichage souhaité en utilisant les formats personnalisés :
Format.png
Format.png (6.29 Kio) Consulté 1100 fois


Évidemment définir manuellement autant de format personnalisé que de valeur différentes contenues en colonne D est fastidieux et inenvisageable. Si l'idée est retenue, il faudra avoir recours à une macro pour automatiser la tâche et poursuivre en section macro comme le recommande les règles du forum.

A+

et le fichier pour tester :
Pièces jointes
test MFC_Mod1.ods
(11.32 Kio) Téléchargé 25 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 14 Mai 2020 05:09

Merci OOotremer971,
cette solution me parait tout à fait viable, et répondre parfaitement au problème que je rencontre.
Je vais donc poster dans la section Macro pour développer celle ci.

Encore merci à tous les contributeurs qui se sont penchés sur cette question.
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar Jeff » 14 Mai 2020 08:45

OOotremer971 a écrit:Le seul moyen que j'ai trouvé est de redonner à la cellule son caractère numérique

Dans ce cas, la présence d'une virgule précédant les parenthèses serait envisageable ? :

Capture du 2020-05-14 10-54-21.png
Mise à jour capture-écran à 10h55
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Emmabuntus Debian Edition 3 Buster 32 bits, sur Ubuntu 18.04.1 x64 (Bionic Beaver), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8341
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 14 Mai 2020 11:54

Bonjour,
Jeff a écrit:Dans ce cas, la présence d'une virgule précédant les parenthèses serait envisageable ? :

Effectivement ce serait bien d'avoir l'avis de l’intéressé cela permettrait de se passer de macro du coup.

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 14 Mai 2020 19:11

Re,

Finalement Jeff c'est un chef :lol: (ça rime...) en poussant un peu son raisonnement, plus de virgule, pas besoin de macro juste une légère différence de rang de l'unité à la centaine avec une simple formule :
Code : Tout sélectionner   AgrandirRéduire
=CNUM((C6*CHOISIR(NBCAR(D6)+1;0;10;100;1000))+D6&T(STYLE("Special")))

Shari.png

et un style personnalisé appliqué par formule avec la fonction STYLE() :
FormatShari.png
FormatShari.png (5.52 Kio) Consulté 1034 fois


et le fichier pour tester :

A+

 Ajout : si la colonne D devait contenir des valeurs de l'ordre de l'unité ou de la centaine, il faudrait créer d'autres style perso pour adapter la position des parenthèses et utiliser la fonction CHOISIR() pour appliquer le bon 
Pièces jointes
test MFC_Mod1(Bis).ods
(8.97 Kio) Téléchargé 27 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 15 Mai 2020 05:37

Terriblement efficace, et de plus, je n'ai pas à "réappliquer" une nouvelle MFC à chaque réactualisation.
Les valeurs d'une des colonnes sont des décimales, mais une simple formule arrondi permet de zapper le souci, car je n'ai pas besoin d'avoir une valeur précise.

Un immense merci à tous les contributeurs pour leur aide précieuse et leur imagination débordante!
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: [Résolu] MFC échelle de couleur depuis autres cellules

Messagepar Jeff » 15 Mai 2020 08:14

OOotremer971 a écrit: Jeff c'est un chef
Alors qu’avec OOotremer ça devient super (pour les rimes, je ne suis pas JJ Goldman, mais j’ai réussi à caser ça dans un alexandrin :mrgreen: )

Chapeau :super:
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.7 sur Emmabuntus Debian Edition 3 Buster 32 bits, sur Ubuntu 18.04.1 x64 (Bionic Beaver), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8341
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: [Résolu] MFC échelle de couleur depuis autres cellules

Messagepar shari » 20 Mai 2020 07:12

bonjour à tous,
je reviens sur ce fil car en fait, la mise en forme ne réagit pas comme on pourrait l'espérer. Si on met des nombres qui comprennent soit moins soit plus de deux chiffres dans la colonne D, la formule et le style font en sorte de systématiquement affichés deux chiffres entre les parenthèses, ce qui n'a évidemment aucun sens puisque, pour se faire, soit le dernier chiffre de la colonne C est "prélevé" pour être mis entre les parenthèses, soit le premier chiffre de la colonne D est rajoutée au dernier de la colonne C.
Dans tous les cas, le résultat affiché en colonne H n'a plus ni queue ni tête..
Comme je ne comprends pas l'architecture et le fonctionnement du style "spécial", je suis incapable d'avancer seul pour résoudre ce souci.
Merci d'avance
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: [Résolu] MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 20 Mai 2020 11:25

Bonjour,

La solution fait appel à trois styles personnalisés pour gérer différemment le cas des unité, dizaine et centaine de la colonne D :
Special1 :
Code : Tout sélectionner   AgrandirRéduire
0(0)

Special2 :
Code : Tout sélectionner   AgrandirRéduire
0(00)

Special3 :
Code : Tout sélectionner   AgrandirRéduire
0(000)


et une nouvelle formule pour sélectionner le bon style en rapport avec le nombre de caractère contenu colonne D :
Code : Tout sélectionner   AgrandirRéduire
=CNUM((C6*CHOISIR(NBCAR(D6)+1;1;10;100;1000))+D6&SI(NBCAR(D6)=1;T(STYLE("Special1"));SI(NBCAR(D6)=2;T(STYLE("Special2"));SI(NBCAR(D6)=3;T(STYLE("Special3"))))))


Mais pour moi cette solution n'est pas réellement adaptée pour faire ressortir une échelle de couleur cohérente comme si elle avait été indexée sur les valeurs de la colonne C puisque ce sont les valeurs de la colonne D qui sont considérées pour la créer comme si elle n'avait pas de parenthèses. On peut donc se retrouver avec des écarts allant de la dizaine au dizaine de millier :?

A+

 Ajout : A mon avis la solution par macro est plus pertinente. 
Pièces jointes
test MFC_Mod2.ods
(9.42 Kio) Téléchargé 23 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 20 Mai 2020 12:47

Merci OOotremeer j'ai bien conscience de te solliciter tant et plus.
Je te rejoins sur le fait que cette solution ne fournit plus une échelle de couleur pertinente et qu'il me faudrait donc insister sur la macro. Cela étant, la solution par macro présente d'autres inconvénients de mise en oeuvre.
Avant de gratter vers la macro, je voudrais finir de tenter de comprendre les différents éléments de cette solution et notamment cette histoire de format défini par l'utilisateur. Je n'arrive pas à comprendre ou ni comment leur donner un "nom" type spécial 1, spécial 2, etc.
Car, si l'échelle de couleur n'est plus pertinente, en revanche l'information présentée ainsi est très claire et parlante ainsi.
Merci d'avance.
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 20 Mai 2020 21:24

shari a écrit:Je n'arrive pas à comprendre ou ni comment leur donner un "nom" type spécial 1, spécial 2, etc.

Il faut afficher le volet latéral (Ctrl+F5) et cliquer sur la lettre A avec le pinceau pour ouvrir le styliste :
Styliste.png
Styliste.png (7.14 Kio) Consulté 946 fois

Styliste2.png

clic droit au milieu du panneau puis==>Nouveau
Styliste3.png


à partir de là tu peux nommer ton nouveau style et paramétrer tous les attributs qui t’intéressent

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 22 Mai 2020 13:05

bonjour à tous, je tente d'avancer à petit pas:
Le souci majeur de cette solution est qu'elle rend l'échelle de couleurs non pertinente en "bouleversant", les ordres de grandeurs. J'ai imaginé une solution qui rétablit ces ordres de grandeurs en multipliant les nombres de la colonne C par 1000 000. De cette manière l'addition des nombres de la colonne D ne vient plus modifier l'échelle de couleurs.
Code : Tout sélectionner   AgrandirRéduire
=CNUM((C6*1000000+D6)


En compliquant un peu le problème, j'ai ajouté une troisième colonne de nombres, et les "intègre" dans mon résultat final en leur appliquant un facteur 1/10 ou 1/100 de manière à ce qu'ils apparaissent après la virgule.
Code : Tout sélectionner   AgrandirRéduire
=CNUM((C6*1000000+D6+E6*CHOISIR(NBCAR(E6)+1;0,1;0,1;0,01;0,001)))


L'idée est ensuite de créer un style qui m'affiche "proprement" le résultat du calcul.
Code : Tout sélectionner   AgrandirRéduire
=CNUM((C6*1000000+D6+E6*CHOISIR(NBCAR(E6)+1;0,1;0,1;0,01;0,001))&SI(NBCAR(E6)=2;T(STYLE("test2"));T(STYLE("test1"))))

Et c'est là ou j'en suis, je n'arrive pas à créer un style qui me ferait "disparaitre" les 0 en trop.

De même, je souhaiterais faire "disparaitre" la virgule dans la présentation du résultat.

Je cherche en vain sur le net, mais j'ai l'impression que ces styles personnalisés ne font pas recette, ou alors c'est moi qui ne sait pas bien chercher.
Pièces jointes
test MFC_Mod3.ods
(10.7 Kio) Téléchargé 24 fois
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 22 Mai 2020 20:33

Bonjour,

Tu montres un exemple du visuel attendu :
shari_1.png
shari_1.png (4.88 Kio) Consulté 910 fois

est-ce que tu peux montrer celui attendu lorsqu'il y a des zéros
shari_2.png
shari_2.png (9.97 Kio) Consulté 910 fois

et préciser si les deux colonnes de droite (D,E) peuvent contenir des valeurs de l'ordre de la dizaine dans les deux colonnes en même temps sur la même ligne ?

Merci

 Ajout : Un dernier point à éclaircir, combien de valeur maximum ta colonne est susceptible de contenir ; j'ai peut-être une autre solution plus souple. 
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 22 Mai 2020 21:50

Bonsoir, j'ai rajouté le résultat attendu en cas de 0 dans la colonne E. Il ne peut pas y en avoir dans la colonne D.
On peut parfaitement avoir des nombres a deux chiffres dans la colonne E, et des nombres à 3 chiffres dans la colonne D. Et il est également possible que ces événements arrivent simultanément.
Pièces jointes
test MFC_Mod3.ods
(10.76 Kio) Téléchargé 21 fois
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 22 Mai 2020 22:44

C'est pas le bon fichier
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 23 Mai 2020 06:40

Le voici, mais je ne comprends pas poruquoi l'autre n'est pas bon. J'avais gardé le même nom mais ajouté le visuel et modifié légèrement une ou deux choses.
Pièces jointes
test MFC_Mod31.ods
(10.73 Kio) Téléchargé 22 fois
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 23 Mai 2020 11:15

Bonjour,
shari a écrit:mais je ne comprends pas poruquoi l'autre n'est pas bon. J'avais gardé le même nom mais ajouté le visuel et modifié légèrement une ou deux choses

Effectivement, c'est moi qui déconne. J'ai vu le tableau du visuel attendu à moitié vide sans voir que tu avais ajouté une ligne avec zéro et des centaines en colonne D. Désolé.

Cela ne m'a pas empêché d'avancer vers une solution qui respecte les ordres de grandeurs sur des cellule au format texte. J'ai créé une échelle de couleur graduée de 1 à 100 (que tu peux supprimer du fichier car elle ne sert plus à rien) à partir de laquelle j'ai créé une centaine de styles nommés shari_1,2,3 etc (par macro). A partir de là, on concatène les valeurs comme tu le faisais initialement et on applique un style basé sur le rang des valeurs de la colonne A (anciennement C). Je te laisse décortiquer :
Code : Tout sélectionner   AgrandirRéduire
=A1&"("&B1&"--"&C1&")"&T(STYLE("shari_"&ENT(RANG(A1;$A$1:$A$14;1)*(100/MAX(RANG($A$1:$A$14;$A$1:$A$14;1))))))

shari_1.png


Attention : il s'agit d'une formule matricielle. Il faut la valider en maintenant enfoncées les touches Ctrl+Maj lors de l"appui sur le touche Entrée. Pour recopier la formule vers le bas avec la poignée de recopie il faut aussi maintenir la touche Ctrl enfoncée.

A+

 Ajout : Par contre la règle de calcul n'est pas bonne car elle est basée sur le rang des valeurs de la colonne A alors qu'elle devrait tenir compte du pourcentage d'écart entre deux valeurs. Je reviendrai dessus ce week-end. 
Pièces jointes
Test_MFC_shari.ods
(12.57 Kio) Téléchargé 23 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 23 Mai 2020 12:36

Je m'incline! Terriblement ingénieux, et hyper efficace!
Un immense merci pour tout le travail, le suivi, la pédagogie et la patience.
J'espère pouvoir adapter tout ça sans trop de difficultés sur mon fichier principal. Après quelques essais infructueux, ça semble fonctionner correctement :roll:
Je craignais pour le "transfert" des styles, car vraiment ce langage macro sur LO est incompréhensible pour moi, mais le déplacement/copiage de la feuill1 résout le souci!
Encore bravo et surtout merci!

Nb: là, je m'arrache les cheveux avec des cellules "protégées" alors que j'ai tout déprotégé, que la feuille n'est plus protégée non plus, c'est à n'y rien comprendre, mais je vais fouiller, et éventuellement ouvrir un nouveau fil si besoin!
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28

Re: MFC échelle de couleur depuis autres cellules

Messagepar OOotremer971 » 24 Mai 2020 00:09

Bonjour,

Je crois que j'ai enfin trouvé une logique qui fonctionne avec précision. Ci dessous le formatage obtenu par formatage conditionnel (colonne A) et celui obtenu par formule (colonne B). Je ne parviens pas à voir la différence :
shari_1.png
shari_1.png (13.65 Kio) Consulté 832 fois


Encore une fois je te laisse décortiquer. La formule gère d'une façon les valeurs supérieures ou égales à la moyenne des valeurs de la colonne A puisque c'est elle qui fixe la couleur jaune :
Code : Tout sélectionner   AgrandirRéduire
(100-((MAX($A$1:$A$14)-A1)*(50/(MAX($A$1:$A$14)-MOYENNE($A$1:$A$14))))))

et d'une autre celles qui sont inférieures :
Code : Tout sélectionner   AgrandirRéduire
(1+(A1-MIN($A$1:$A$14))*(50/(MOYENNE($A$1:$A$14)-MIN($A$1:$A$14)))))


les séquences :
Code : Tout sélectionner   AgrandirRéduire
(A1>=MOYENNE($A$1:$A$14))*

et
Code : Tout sélectionner   AgrandirRéduire
(A1<MOYENNE($A$1:$A$14))*

renvoient une valeur booléenne 1 ou 0 qui évite l'imbrication de SI() pour traiter de part et d'autre de la moyenne.
Code : Tout sélectionner   AgrandirRéduire
=A1&"("&B1&"--"&C1&")"&T(STYLE("shari_"&ARRONDI((A1>=MOYENNE($A$1:$A$14))*(100-((MAX($A$1:$A$14)-A1)*(50/(MAX($A$1:$A$14)-MOYENNE($A$1:$A$14))))))+ARRONDI((A1<MOYENNE($A$1:$A$14))*(1+(A1-MIN($A$1:$A$14))*(50/(MOYENNE($A$1:$A$14)-MIN($A$1:$A$14)))))))

shari_2.png


A+
Pièces jointes
Test_MFC_shari_Mod1.ods
(13.51 Kio) Téléchargé 24 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10
Ubuntu 18.04.4 LTS
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2354
Inscrit le : 16 Avr 2010 14:31

Re: MFC échelle de couleur depuis autres cellules

Messagepar shari » 24 Mai 2020 06:50

Tu m'as fait épuisé mon stock de superlatifs!
Bon, effectivement, en comparant les styles obtenus par l'une ou l'autre des deux formules, on constate que la toute dernière mouture "colle" plus à l'échelle MFC et surtout qu'elle est plus équilibrée, notamment dans sa gestion des valeurs identiques.
Je suis donc plus que satisfait du résultat obtenu et peux classer en "Résolu" ce sujet.

Encore une fois, un immense merci pour la qualité du travail et bravo pour les trésors d'ingéniosité déployés!
AOO417m1(Build:9800) - Rev. 46059c9192 Windows 10
Libreoffice 6.4.2.2 (x64)
shari
Membre lOOyal
Membre lOOyal
 
Message(s) : 35
Inscrit le : 17 Jan 2020 11:28


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité