Sauvegarder une gamme de couleurs personnalisées

Bonjour cher Forum,

Je dois réutiliser régulièrement des couleurs précises (définies par leur code Hex) pour remplir des cellules en fonction de la valeur d'un indice que je recalcule tous les mois. Ces couleurs sont les suivantes :

image
#00408b
#3071b0
#60a3d6
#ffde1a
#f8930f
#f05200
#c50e0e
#d9d9d9

Après, je peux par une mise en forme conditionnelle répondre à mon problème.

Mon souci, c'est que je parviens pas à sauvegarder ces couleurs pour qu'elles soient accessibles dans une nouvelle session d'Excel.

J'ai trouvé dans le forum des échanges qu'il fallait passer par du code VB, mais mon niveau en programmation étant nul, je n'ai rien compris. N'y a-t-il pas une solution plus simple pour un béotien comme moi ?

Merci d'avance de vos réponses.

Bonjour,

Chez moi cela ne pose pas de problème :

1 aller dans MEFC

2 choisir la deuxième option cellule =

3 dans Format choisir Remplissage - Autres couleurs - Personnalisées : remplir la dernière ligne Hex avec le code désiré

Faire OK 3 fois

Sauver le classeur

Et la MEFC sera opérationnelle pour les sessions futures

Voir exemple en annexe

Bonne continuation

Chris

Merci CHRIS1945 de ta réponse, mais ce n'est pas exactement ce que je cherche :

je voudrais pouvoir garder la gamme de couleurs créées indépendamment du classeur dans lequel elle a été créée. C'est vrai que si je rouvre le dernier classeur avec cette gamme de couleur, je peux faire un copier-coller du format, mais je voulais ne pas avoir besoin de rouvrir d'anciens classeurs et que dans les gammes de couleurs disponibles je retrouve celle que j'ai créée (comme je le fais dans des logiciels de SIG type QGIS).

Marc

Bonsoir,

Désolé mais je ne comprend rien à ton dernier message.

Tu as clairement indiqué dans ton premier message les couleurs que tu désirais et je les ai introduit dans le classeur test et cela fonctionne

Alors je ne vois pas ce que je peux faire de plus ou alors expliques plus en détail ce que tu désires.

A bientôt

Chris

Bonjour,

Comme @Chris j'ai du mal à vous suivre. Cependant ci-joint une autre approche via VBA :

Les codes couleurs insérés dans les cellules de la feuille seront automatiquement colorés de la couleur correspondante (cellule).

Par défaut la police est également mise à jour pour rester lisible.

Code de coloriage dans Module1 et code d'appel du coloriage dans code de cette feuille (Sheet1)

Sub de coloriage :

Option Explicit

Public Sub SetColorFromHex(rng As Range, Optional ByVal updateFontColor As Boolean = True)
  Application.ScreenUpdating = False
  If rng.CountLarge > 1 Then Exit Sub

  ' Get the hex color code from the target cell's value
  Dim hexColor As String
  hexColor = rng.Value

  ' Check if the hex color code starts with #
  If Left(hexColor, 1) = "#" Then
    hexColor = Mid(hexColor, 2) ' Remove the #
  End If

  ' Extract the red, green, and blue components
  Dim red As Long, green As Long, blue As Long
  red = WorksheetFunction.Hex2Dec(Left(hexColor, 2))
  green = WorksheetFunction.Hex2Dec(Mid(hexColor, 3, 2))
  blue = WorksheetFunction.Hex2Dec(Right(hexColor, 2))

  ' Set the cell's background color
  rng.Interior.Color = RGB(red, green, blue)

  ' set the cell's font color
  If updateFontColor Then
    Dim lumin As Double
    lumin = 0.2126 * red + 0.7152 * green + 0.0722 * blue
    If lumin > 128 Then
      ' bright color => black font
      rng.Font.ColorIndex = 1
    Else
      ' dark color => white font
      rng.Font.ColorIndex = 2
    End If
  End If

  Application.ScreenUpdating = True
End Sub

Appel dans le code de la feuille :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim c As Range
  For Each c In Target.Cells
    If Left(c, 1) = "#" Then SetColorFromHex c
  Next c
End Sub
11book1.xlsm (23.09 Ko)

Merci à vous deux de vous être penchés sur mon petit problème.

En particulier, merci à toi Saboh12617 pour le code et la feuille de calcul qui me rendra service ! pour préciser ma demande initiale -- manifestement je n'ai pas été clair et je m'en excuse - mon idée était de disposer au démarrage d'Excel et quelle que soit la feuille ouverte (yc celle par défaut) comme ce qui apparaît (mais pour la seule session en cours) quand j'ai créé ces couleurs :

image

en fait de "pérenniser" les couleurs utilisées récemment pour ne pas avoir à en ressaisir les codes Hex quand je fais une mise en forme conditionnelle au cours d'une autre session par exemple. Maintenant, c'est peut-être pas possible... Bonne journée.

Marc

Ah mais alors il y a beaucoup plus simple : vous pouvez faire un thème !

Allez dans mise en page > Thèmes > Couleurs > Personnaliser

image

Vous pouvez ensuite les choisir, sachant que les correspondances sont les suivantes :

image

Maintenant faites Thème > Sauvegarder le thème actuel (Sauvegardez le là où vous voulez).

image

Et maintenant dans vos nouveaux classeurs il suffit de faire la manip inverse : Thème > Parcourir… (le bouton du dessus sur le dernier screen) et vous allez pouvoir charger votre jeu de couleurs.

Bon vous le voyez, la limite c'est qu'il n'y a que 13 couleurs par thème. Mais c'est une solution simple, fiable et pratique sans VBA.

et ben voilà, comme l'écrivent certains : "Une question bien formulée est une question à moitié résolue."

Je n'avais pas trouvé la manip !

Merci bcp ! je réutiliserai cependant le code pour l'adapter à d'autres petits trucs.

et ben voilà, comme l'écrivent certains : "Une question bien formulée est une question à moitié résolue."

Ahah oui, c'est souvent vrai.

Notez quand même que ces couleurs de thème peuvent avoir une influence sur votre mise en page au niveau des graphiques/tableaux/titres. C'est leur première utilité à vrai dire. Mais cela est adaptable bien entendu, vous pouvez modifier le thème d'un graphique sans changer celui du classeur par exemple.

Je vous l'indique au cas où vous seriez surpris et pensez avoir fait une mauvaise manip. Remettre le thème par défaut "corrige" cela.

Bonne fin de journée

Rechercher des sujets similaires à "sauvegarder gamme couleurs personnalisees"