OVH Cloud OVH Cloud

PB Palette de couleur

1 réponse
Avatar
eres
Bonjour à tous,
J'ai un problème avec la palette de couleur (Excel 2002), la 2e colonne de
la palette se modifie de temps en temps, c'est à dire que les couleurs par
défaut de cette colonne sont remplacées par d'autre (ex: Marron devient
Gris). Je suis toujours obligé de la modifier manuellement et ça devient
pesant car je bosse tous les jours avec ça.

Avez-vous une solution?

Merci d'avance.

1 réponse

Avatar
PMO
Bonjour,

La palette de couleurs est propre à chaque classeur et,
par conséquent, n'est pas une option générale d'Excel
reconductible à tous les classeurs.

Voici une piste en VBA avec 2 options
Option 1
Vous n'avez pas de palette personnalisée. Utilisez la Sub DefautCouleurs

Option 2
Vous avez personnalisé votre palette.
Créez alors un classeur avec cette palette personnalisée et
enregistrez le avec le nom de votre choix et dans le dossier de
votre choix. Modifiez dans le code la constante CHEMIN
et lancez la Sub CopieCouleurs. Cette dernière ouvre
le classeur modèle, copie la palette de couleurs puis le referme.

SOLUTION 1
fastidieuse car elle oblige à copier le code dans un
module standard de chaque classeur mais pratique pour tester.
Copiez le code suivant dans un module standard.
**********
'#### Modifiez le chemin à votre usage ####
Const CHEMIN As String = "c:MaPalette.xls"
'__________________________
Sub CopieCouleurs()
Dim W As Workbook
On Error Resume Next
Set W = GetObject(CHEMIN)
If W Is Nothing Then Exit Sub
ActiveWorkbook.Colors = W.Colors
Set W = Nothing
End Sub
'__________________________
Sub DefautCouleurs()
ActiveWorkbook.ResetColors
End Sub
**********

SOLUTION 2
Passer par une macro complèmetaire. Les macros seront
accessibles pour tous les classeurs au moyen du menu Palette.
Tout d'abord (comme il est dit dans Option 2)
créez un classeur avec votre palette personnalisée et
enregistrez le avec le nom de votre choix et dans le dossier de
votre choix. Modifiez dans le code la constante CHEMIN
Ensuite
1) Créez un nouveau classeur
2) Copiez le code suivant dans ThisWorkbook
**********
'_______________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim C As CommandBarControl
For Each C In Application. _
CommandBars("Worksheet Menu Bar").Controls
If C.Caption = "Palette" Then C.Delete: Exit For
Next C
End Sub
'_______________________
Private Sub Workbook_Open()
Dim i&
Dim var
Dim M As CommandBarPopup
Dim MI As CommandBarButton
var = Array("", "Par défaut", "DefautCouleurs", _
"Personnalisée", "CopieCouleurs")
With Application.CommandBars("Worksheet Menu Bar")
Set M = .Controls.Add(Type:=msoControlPopup, _
Before:=.Controls.Count - 1)
M.Caption = "Palette"
For i& = 1 To 2
Set MI = M.Controls.Add(Type:=msoControlButton)
With MI
.Caption = var(i& + i& - 1)
.OnAction = var(i& + i&)
End With
Next i&
End With
End Sub
**********
3) Copiez le code suivant dans un module standard
N'oubliez pas de modifier la constante CHEMIN
**********
'#### Modifiez le chemin à votre usage ####
Const CHEMIN As String = "c:MaPalette.xls"
'__________________________
Sub CopieCouleurs()
Dim W As Workbook
On Error Resume Next
Set W = GetObject(CHEMIN)
If W Is Nothing Then Exit Sub
ActiveWorkbook.Colors = W.Colors
Set W = Nothing
End Sub
'__________________________
Sub DefautCouleurs()
ActiveWorkbook.ResetColors
End Sub
**********
4) Faites menu Fichier/Enregistrer sous…
5) Nom de fichier PALETTE
Type de fichier Macro complémentaire (*.xla)
Rappelez vous du chemin indiqué dans Enregister dans
Cliquez Enregistrer
(la macro complémentaire PALETTE.xla est créée)
6) Faites menu Outils/Macros complémentaires…
Cochez PALETTE dans la liste ou si vous ne la voyez pas
cliquez sur Parcourir pour la trouver.

Chaque fois que vous ouvrirez n'importe quel classeur
il y apparaîtra le menu Palette avec 2 options (Par défaut OU Personnalisée).

Cordialement.
--
PMO
Patrick Morange



Bonjour à tous,
J'ai un problème avec la palette de couleur (Excel 2002), la 2e colonne de
la palette se modifie de temps en temps, c'est à dire que les couleurs par
défaut de cette colonne sont remplacées par d'autre (ex: Marron devient
Gris). Je suis toujours obligé de la modifier manuellement et ça devient
pesant car je bosse tous les jours avec ça.

Avez-vous une solution?

Merci d'avance.