Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA : Couleur de police et lisibilité

  • Initiateur de la discussion Initiateur de la discussion DoubleZero
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Une demande sotte, peut-être, et (ou) sans solution... mais non vitale 🙄 !

Pour une bonne lisibilité, serait-il possible de modifier la couleur de police en fonction de la couleur de fond ?

Exemples :
- police de couleur blanche si couleur de fond obscure ;
- police de couleur noire si couleur de fond claire.

Je vous remercie pour l'aide que vous pourrez m'apporter.

A bientôt 🙂
 

Pièces jointes

Dernière édition:
Re : VBA : Couleur de police et lisibilité

Bonsour®
je n'ai aucune expérience, ni connaissance concernant la physiologie de la reconnaissance des couleurs,
je parlais de "deutéranopie" car la solution proposée est bâtie autour de la couleur verte...

🙄
si avec la solution proposée, certains n'y voient que du bleu, c'est rouge de honte que je rirai jaune pour ne pas broyer du noir...
😉
 
Re : VBA : Couleur de police et lisibilité

Re-bonjour, le Fil 🙂, bonjour, Modeste geedee 🙂, le Forum,

Je ne sais plus que dire devant tous vos travaux et votre application afin de satisfaire ma demande 😱 !

@ Dranreb :

J'ai honte 🙄... et je dois avouer ne pas savoir utiliser les deux dernières fonctions 😕.

@ Modeste geedee,

Avec le fichier joint, c'est, encore, un bien beau cadeau qui m'est offert.

Pas d'inquiétude : je ne suis pas comme elle 😀 (pas de deutéranopie... avérée !) :



1😀😀1 fois MERCI à chacun de vous.

A bientôt 🙂🙂
 

Pièces jointes

  • Moi, être deutéranope !....jpg
    58.9 KB · Affichages: 376
  • Moi, être deutéranope !....jpg
    58.9 KB · Affichages: 373
  • Moi, être deutéranope !....jpg
    58.9 KB · Affichages: 286
Re : VBA : Couleur de police et lisibilité

Re-bonjour, 00 🙂, Ponpon 🙂, Dranreb 🙂, le Forum,

@ Dranreb :
J'ai honte 🙄... et je dois avouer ne pas savoir utiliser les deux dernières fonctions 😕.
Permets-moi de partager ta honte 😱.
Je soupçonne les vbaistes du niveau de Dranreb d'être en fait des extra-terrestres infiltrés, qui ne communiquent qu'en langage codé pour n'être pas compris des terriens/béotiens -dont je fais partie 😡.

🙂🙂
 
Re : VBA : Couleur de police et lisibilité

Normal, c'est de ma faute, je n'avais pas suffisamment sorti ça de son contexte en pourvoyant à ce qui manquait.

P.S; notez qu'on doit pouvoir faire plus simple :
VB:
Sub ContrastePolices()
Dim Cel As Range
For Each Cel In ActiveSheet.UsedRange
   Couleur = Cel.Interior.Color: CalcÉngRVB: CalcEAFÉng
   Enrg = 2000 / (1000 / (Enrg + 1000) - (3 * Enrg > 1000) + 0.25) - 1000
   If Forc < 5 Then Forc = 0 Else Forc = 1000
   Call CalcÉngEAF: CalcRVBÉng: Cel.Font.Color = Couleur
   Next Cel
End Sub
Et aussi régler différemment la correspondance ancien Engr de fond / nouveau Engr de police. Je vois que sur l'exemple les polices clair sur sombre sont un peut trop sombres sur les fonds très sombres et trop claires sur ceux qui le sont moins.
 

Pièces jointes

Dernière édition:
Re : VBA : Couleur de police et lisibilité

Pour DoubleZero,

Puisque, comme moi, vous appréciez les feuilles gaies et colorées, en PJ (au cas où vous n'auriez jamais vu le fil) un problème que j'avais posé et que job75 avait brillamment résolu. Très agréable si on veut éviter l'inéluctable fatigue rétinienne avec les sempiternels fonds blancs. Curieux, du reste, que les caïds de chez Microsoft n'aient jamais pensé à inclure, dans le babélisme des possibilités utiles et pour nombre d'entre elles inutiles, cette possibilité, elle, vraiment utile.
En combinant cette possibilité à celle de Dranreb, le résultat est, pour le moins que l'on puisse dire, vraiment sympa.

Bonne fin de journée.
 

Pièces jointes

Re : VBA : Couleur de police et lisibilité

Bonjour Dranreb, le forum,

Tâcher de moduler le contraste est une bonne idée ; c’est un plus dans votre première solution. Seulement, voilà, la sensibilité aux contrastes est très individuelle. Des appareils coûteux et sophistiqués furent mis au point dans les années 90, surtout en France, pour faire une évaluation « objective » de cette sensibilité. Votre complément est intéressant mais malheureusement stéréotypé, dans la mesure où l’ajustage du contraste ne correspond pas forcément à la sensibilité au contraste de chacun. Les myopes, par exemple (et ce dont je suis) distinguent nettement mieux les contrastes avec des verres jaunes-orangés (un myope avec des lunettes de soleil aux verres bleus verra moins bien, même si c’est ça en jette plus pour la galerie… C’est comme ça, ça ne se discute pas et n’importe quel bon ophtalmo ou opticien le confirmerait).
L’idéal serait de réaliser tout simplement un curseur avec au-dessus une barre de couleurs type arc-en-ciel en fondu enchaîné (exactement comme dans l’exe que vous avez mis dans votre post #14 - superbe, cela dit en passant -) et récupérer ainsi la tonalité exacte que l’on voudrait utiliser pour la police en fonction de la couleur de la cellule. Ce pourrait être, du reste, un sujet pour un nouveau fil.
 
Dernière édition:
Re : VBA : Couleur de police et lisibilité

Bonjour, le Fil 🙂, le Forum,

A nouveau de grands remerciements :

@ Magic_Doctor,

Pour le partage du fichier.

Cela me fera peut-être... un jour 🙄... pardonner les propos tenus en #35 😀 !

@ Dranreb,

Pour les modifications apportées aux deux dernières fonctions, lesquelles me permettent d'apprécier le fichier joint en #38 😀.

A bientôt 🙂🙂
 
Re : VBA : Couleur de police et lisibilité


🙄
En RGB la représentation de l'arc-en-ciel n'est pas linéaire, il faudrait passer par une représentation sphérique (à minima circulaire pour la teinte dominante) ce que fait la représentation HSL intégrée dans la boite de dialogue choix de couleur.

Hélas si Microsoft à bien mis à disposition de VBA la fonction RGB issue des outils Windows (API je suppose)
ce n'est pas le cas des fonctions HSL et réciproque (qui pourtant sont bien présentes dans Windows...)

pour le fun ...
en pièce jointe, une réponse partielle
VB:
cellule.Font.Color = IIf(Int(cellule.Interior.Color / 256) Mod 256 > 128, vbBlack, vbWhite)
pour un contraste simple (N/B) et facilement applicable...(1 ligne de code !)
😉 sans passer par l'intéressante et complexe usine à gaz CIE xyZ , gamut etc...
que dranreb nous si gentiment dévoilée...🙂
 

Pièces jointes

Re : VBA : Couleur de police et lisibilité

Bonsour®
Bonjour,
Effectivement. Pourquoi faire excessivement compliqué quand on peut faire extraordinairement simple...???

Attention toutefois avec les formats, fonts, tailles et couleurs , on arrive très vite aux limites du nombre de format autorisés...🙁
une façon de véroler irrémédiablement un classeur...
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
1
Affichages
137
Réponses
8
Affichages
258
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…