color = colorindex ?

JMV

XLDnaute Nouveau
Bonjour,

La macro ci dessous ne fonctionne correctement que si la 'coul' existe dans la palette. Autrement, les cellules sont colorées avec la couleur de la pallette se rapprochant le plus de 'coul'.

Sub essai()
Dim coul As Long
coul = RGB(227, 227, 227)
Range(Cells(1, 1), Cells(1, 5)).Interior.Color = coul
End Sub

Comment faire pour se 'libérer' de la palette de couleur ?

Merci

Jean-Marc
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour

tu peux redéfinir tes couleurs de référence
Code:
    MsgBox 'Je mets une couleur sur A1', vbOKOnly + vbInformation
    Range('A1').Interior.ColorIndex = 3
    MsgBox 'Je change la couleur de référence', vbOKOnly + vbInformation
    ActiveWorkbook.Colors(3) = RGB(227, 227, 227)
en exemple, si plusieurs couleurs sont modifiées, tu peux passer les couleurs du classeur macro au classeur actif par l'instruction
activeworkbook.colors=thisworkbook.colors

Cordialement, A+
 

JMV

XLDnaute Nouveau
Bonsoir,

Merci Yeahou, mais si je souahite avoir plus de 56 couleurs cela ne va pas fonctionner. Aussi, si 'coul' me renvoie, avec ou sans ta macro alors la 3ème couleur de la palette, je suis lié à la cette couleur.

J'aimerais vraiment comprendre pourquoi

Range(Cells(1, 1), Cells(1, 5)).Interior.Color = RGB(227, 227, 227)

ne me colorise pas le fond de ma cellule correctement si cette couleur ne fait pas partie de la palette de couleur.

Merci.

Jean-Marc
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour JMV

Eh oui, 56 est la limite du nombre de couleurs simultanées pour un même classeur.
Lien supprimé
on peut contourner et utiliser 56 couleurs en affichage par feuille en les gérant avec les activations désactivations de feuilles, on peut même l'imaginer par plage.

A+