Les FC sont effectivement très fragmenté, mais je ne vois rien dans le volet pour les regrouper. Mes FC sont toute uniques, que j'ai dupliqué en recopier la mise en forme. Pour la duplication vers la droite, j'ai même dû éditer les conditions à la main pour chaque colonne, puisque j'ai dû figer la colonne de test. Donc je n'ai pas trouvé de formule universelle. En gros, la formule est: Plage: AL11:AR11 Condition1: la formule est $AN11="G" Style: Good Condition2: la formule est $AN11="B" Style: Bad
Par contre, je vous remercie d'avoir attiré mon attention sur la fonction STYLE, je ne la connaissais pas. En fait, mes données sont généré par un petit soft dans le format CSV puis importer dans LibreOffice. Là, j'étais en train d'étudier pour générer ou modifier directement les fichiers odf, mais avec STYLE, je vais pouvoir intégrer ça directement dans le fichier csv et me faire gagner du temps, en limitant les modifications dans mon programme. Merci pour ça. Le 18 mars 2018 à 17:51, Michel Rudelle <[email protected]> a écrit : > Bonjour, > > C'est bien la fragmentation du FC qui est le problème. Parfois c'est facile > à résoudre car ces cellules - fragmentées dans "Gérer" - sont en fait > contigües, il suffit de les regrouper, d'où le conseil de J-F de repasser > sur les FC à la fin de la mise au point d'un classeur. > > Il y a aussi le cas où ces cellules ne sont pas contigües, voire où toutes > ne sont pas soumises au même FC, là il faut un peu d'astuce, voici quelques > deux exemples simples: > - supposons une ligne sur deux avec des données auxquelles appliquer un FC > (sur des seuils numériques par exemple), l'autre ligne ne contenant que du > texte (des libellés), il faut appliquer le même FC à tout le tableau, les > lignes de texte ne seront pas affectées. Ce n'est pas intuitif, on penserait > perdre en rapidité en intégrant des cellules non concernées, mais c'est tout > le contraire ;-) > - sur ce même tableau, si les seuils objet du FC ne sont pas les mêmes pour > toutes les colonnes, reporter ces seuils dans lignes après ou avant le > tableau, et dans le FC faire référence à ces valeurs, le FC peut ainsi être > le même pour toutes les colonnes. > > Il n'y a pas de méthode unique, ceci nécessite une réflexion et un peu > d'astuce en construisant le classeur mais j'y suis toujours arrivé avec au > plus 3 ou 4 plages. > > Et il y a aussi comme indiqué par J-F la fonction STYLE > > Cordialement, > Michel > > > >> -----Message d'origine----- >> De : Jean-Francois Nifenecker [mailto:jean- >> [email protected]] >> Envoyé : dimanche 18 mars 2018 16:36 >> À : [email protected]; [email protected] >> Objet : Re: [fr-users] Rendre statique un formatage dynamique >> >> Bonjour, >> >> Le 18/03/2018 à 15:57, [email protected] a écrit : >> > Je dois appliquer un formatage dynamique à une liste de cellules. >> >> oui, vous parlez de ce qui est cinnu sous le nom de "Formatage >> conditionnel" (FC). >> >> > Problème: mon PC (très récent, pourtant), rame pendant près de 20 >> minutes pour calculer le rendu. >> > Dans le détails, si ça peut aider quelqu'un à améliorer les perfs futurs >> de LibreOffice, il s'agit d'un tableau d'environ 1500 lignes sur 150 >> colonnes. >> > Pour le formatage, j'ai des paquet d'environ 10 cellules sur une ligne >> qui doivent toutes prendre le style1 ou le style2, en fonction de la >> valeur d'une cellule bien précise du paquet. Le style est donc répété vers >> la droite et vers le bas, et j'utilise la condition "La formule est". >> > >> > Bref, mon soucis est que mon PC mouline près de 20 minutes pour calculer >> le formatage, mais également, il se remet à mouliner à chaque >> enregistrement et ouverture de fichier. Et le scroll devient terriblement >> lent. Bref, LibreOffice n'est plus utilisable dans ces conditions. >> > >> >> Ama (et à mon expérience), le formatage conditionnel fonctionne bien >> tant que le nombre de cellules à mettre en forme est "réduit" (jusqu'à >> qq dizaines). Au-delà, en effet, les ressources sont très sollicitées. >> >> Vérifiez cependant que le FC est bien organisé en allant à Format > >> Formatage conditionnel > Gérer >> >> -> Assurez-vous que les plages de cellules à mettre en forme sont bien >> homogènes (pas de cellules unitaires). Une fragmentation des plages se >> produit lorsque l'on met le tableau au point (ajout de colonnes, recopie >> de mises en forme, etc.), fragmentation qui conduit à des temps de >> traitement allongés. Il est donc conseillé, après mise au point, de >> re-grouper les plages de FC. >> >> > A l'inverse, un formatage statique est très léger et fluide. >> > Mais il me faudrait sans doute toute une vie pour colorier à la main >> unes à unes, toutes les cellules de mon classeur. Sans compter les risques >> d'étourderies. >> > >> > Alors ma question: >> > Est-il possible, dans LibreOffice, après que ce dernier ait mouliné 20 >> minutes pour calculer le formatage de chaque cellule, de rendre toutes ces >> couleurs statiques, et supprimer les conditions, afin que je puisse >> continuer de travailler avec mon fichier? >> > >> >> Je vois deux solutions : >> >> 1. Désactiver le recalcul automatique en temps normal (menu Données > >> Calculer > Calculer automatiquement) et ne le réactiver que lorsque le >> besoin s'impose. Mais ça induira alors l'effet constaté... :( >> >> 2. Trouver une alternative. >> Avez-vous essayé la fonction STYLE() dans les cellules à colorier ? >> >> Exemple d'utilisation de la fonction STYLE() >> >> En A1, écrire un nombre (exemple : 1) >> >> En B1, une formule qui colorie cette même cellule B1 selon la valeur de >> A1. >> Je considère que l'on dispose de deux styles "Mauvais" et "Bon" qui >> colorieront B1 différemment selon la valeur en A1. >> >> En B1, la formule : >> =SI(A1<10;STYLE("Mauvais");STYLE("Bon")) >> >> Si la valeur en A1 est inférieure strictement à 10, on colorie B1 selon >> le style "Mauvais" ; pour les valeurs supérieures ou égales à 10, on >> colorie B1 selon le style "Bon". >> >> Telle quelle, lorsque B1 ne contient pas de donnée, la formule ci-dessus >> provoque l'affichage d'une valeur 0 (zéro). Dans ce cas, pour la faire >> disparaître, englobez la formule dans la fonction T(), comme ceci : >> =T(SI(A1<10;STYLE("Mauvais");STYLE("Bon"))) >> >> >> >> Si vous répondez, merci de penser à utiliser la fonction "répondre à >> tous" de votre logiciel de courrier électronique de façon que la liste >> reçoive une copie de votre réponse. >> >> Bien cordialement, >> -- >> Jean-Francois Nifenecker, Bordeaux >> >> >> -- >> Envoyez un mail à [email protected] pour vous >> désinscrire >> Les archives de la liste sont disponibles à >> https://listarchives.libreoffice.org/fr/users/ >> Tous les messages envoyés sur cette liste seront archivés publiquement et >> ne pourront pas être supprimés > -- Envoyez un mail à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
