Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


Bonjour Christian

Bonne idée !

Mais, comme on le discutait dans l'échange que tu évoques, il s'agissait d'un filtre selon les couleurs (pas d'un tri, je ne crois pas). Nous comparions avec Excel, qui propose un Filtre sur couleurs depuis la version 2007.
Bref.

Nous évoquions l'idée d'interroger le style des cellules.... Au même titre que l'on gère un format conditionnel avec des styles.

Si l'on passe par macro, pour contourner la complexité de toutes les couleurs,ne serait-il pas plus aisé

1-d'interroger les styles appliqués dans la zone filtrée

2-de faire de ce résultat les modalités du filtre...

Qu'en penses-tu ? Car l'un dans l'autre, tant qu'une fonctionnalité nous manque, une macro pourrait tout à fait devenir une extension...

Et si l'on parle aussi de tri (pourquoi pas, mais  ça me parait effectivement bien plus compliqué !), pourquoi ne pas chercher à proposer un tri selon des styles...

Ce qui m'ennuie à regarder directement la couleur plus que le style appliqué, c'est que l'on perd grandement, la marque de fabrique de LibreOffice qui passe par l'usage de styles (qui dans notre problématique me parait justement simplifier les choses. Le style appliqué étant une propriété de chaque cellule, la surcharge par mise en forme directe, me parait moins performante !)


En tout cas merci pour ces recherches, c'est vraiment intéressant.

Claire

Le 14/11/2020 à 15:48, Christianwtd a écrit :
Bonjour à toutes et tous,

Récemment j’ai vu passer une discussion sur le tri de cellules en fonction des couleurs de remplissage (arrière-plan).
J’ai donc fait une petite macro pour illustrer la complexité de la tâche.
Pour celles et ceux qui l’ignorent, les couleurs sont des valeurs numériques qui varient de 0 à 255 (256 possibilités) pour chacune des composantes rouge, vert, bleu. Ce qui fait un choix total de :
256 × 256 × 256 = 16 777 216 de couleurs.
Pour lancer cette macro, il suffit de cliquer sur « Lance macro ». Au minimum, la première fois, « Couleurs aléatoires » doit être cochée. Si des affichages anormaux apparaissent, supprimez les colonnes en cause. NE SUPPRIMEZ PAS LA COLONNE A. De même ne modifiez pas la « Feuille2 ».
Les tris peuvent être faits dans la liste déroulante :
1- Rouge, Vert, Bleu
2- Rouge, Bleu, Vert
3- Vert, Rouge, Bleu
4- Vert, Bleu, Rouge
5- Bleu, Rouge, Vert
6- Bleu, Vert, Rouge
La colonne « Index » permet de trier les couleurs en fonctions des valeurs lues. A la suite d’un affichage aléatoire, vous pouvez désactiver ce choix et modifier manuellement les valeurs de couleurs dans les limites de 0 à 255. Ensuite relancez la macro.
Cette macro est simpliste et ne tient pas compte des erreurs possibles !

Dans la macro, les lignes :
oController.select(oSheet1.getCellByPosition(CellCol, CellLig))  'déplace vers la cellule ne sont pas indispensables. Elles servent seulement à se repérer si on fait du Pas à Pas. On peut les supprimer ou les mettre en commentaires avec une apostrophe.

Bref, si ça peut vous aider à réfléchir à une solution simpliste de tri des couleurs…

Lien téléchargement :
https://catdrop.drycat.fr/r/jFGU10jP#j/27TOjYWYBfxrcXPdPIDIBvIC51/tOCefTENUHvkho=

Bon surf,
Christian



--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.