VBA Couleur fond

Bonjour à tous,

On a déjà traiter le sujet, mais je ne retrouve pas,

Je voudrais colorer en noir une colonne (couleur de fond)

ci dessous me donne un "grenat"

Columns(2).Interior.ColorIndex = 1

ci dessous me donne un "blanc"

Columns(2).Interior.ColorIndex = xlAutomatic

ci dessous (avec enregistreur) me donne bien "noir", mais c'est une nouveauté Excel 2007

Columns(2).Interior.ThemeColor = xlThemeColorLight1

Comment assurer le coup avec un code fonctionnant sur les versions antérieures à 2007 ?

merci de me rafraichir la mémoire

Amicalement

Claude

Bonjour Claude,

Si la propriété ColorIndex existe pour des versions antérieures à 2007, ça devrait être bon car j'obtiens du noir avec ce code :

ThisWorkbook.Sheets("Feuil1").Columns(1).Interior.ColorIndex = 1

Cordialement,

Fatos

bonjour Fatos,

oui mais j'aimerai un code qui marche sur les 2 versions

ton code me donne un grenat (sur Excel 2007)

Claude

Ah, car moi j'obtiens du noir sur Excel 2007 !

re,

C'est bizarre, je viens de m'apercevoir que dans les couleurs standard

je n'ai pas de noir !

je ne sais pas d'où vient ce "Couleurs du thème" ?

capturer

c'est pareil chez toi ?

à noter que je suis sous Vista

Claude

C'est pareil chez moi. Je comprends d'autant moins pourquoi nous n'avons pas les mêmes IndexColor..

couleurs excel 2007

Je suis, par contre, sous Windows 7.

re,

Attention, là tu as sélectionner la police !

mais çà doit être pareil

Claude

J'avais remarqué, mais j'avais omis de te le signaler car effectivement, cela ne change rien.

Bonjour,

Avec ceci ?

Columns(2).Interior.Color = RGB(0, 0, 0)

Ou :

Columns(2).Interior.Color = 65536

Pour info je n'ai pas réussi avec PatternColorIndex ou ColorIndex comme dans Excel 2003 et dans l'aide d'Excel 2007 je n'ai pas retrouvé la palette de couleur qui s'affichait en demandant l'aide F1 sur PatternColorIndex, c'est bien dommage car les "anciennes" couleurs telles que le jaune sont maintenant affichées avec une couleur 65535 plutôt que 6 !!

A+

Bonsoir

Claude, je pense que le sujet que tu cherches est celui-ci :

https://forum.excel-pratique.com/excel/calcul-somme-couleur-excel-t16411-10.html?hilit=couleur

Amicalement

Nad

Bonsoir dachevid,

je la sent bien cette ligne

Columns(2).Interior.Color = RGB(0, 0, 0)

reste à savoir si çà marche sans problème sur Excel 2003 et antérieur ?

Si on pouvait nous confirmer çà ?

merci et bonne soirée

Claude

Re

Claude, je ne suis pas sûre que tu ais lu mon précédent message car tu as posté en même temps.

Voici comment se termine le fil en question :

capture

Amicalement

Nad

Bonsoir Nad,

Oui c'est bien le poste auquel je pensais, merci de l'avoir retrouvé,

mais en fait, en le re-parcourant je ne trouve pas vraiment de rapport

avec mon problème d'aujourd'hui, tant pis !

je crois que je vais resté avec "Columns(2).Interior.Color = RGB(0, 0, 0)"

Content de te revoir parmi nous

Amicalement

Claude

Bonsoir,

Pour info je viens de tester avec un Excel 2003 et les 2 méthodes marchent avec RGB et 65536.

J'ai testé toutes les couleurs avec un For i = 0 To 65536 et la propriété Color et on retrouve plusieurs fois les mêmes couleurs, plusieurs fois le noir, le vert, le rouge, etc. et en plus on a à chaque fois une dizaine de numéros à la suite pour la même couleur, noir de 1 à 64, grenat jusqu'à 191, rouge jusqu'à 255, etc.

A+

Merci dachevid,

Je vais donc en resté là,

Columns(2).Interior.Color = RGB(0, 0, 0)

il y a quand même des bizarreries chez "Crosoft"

édit: merci à tous

Amicalement

Claude

Claude,

Je sais que tu as cloturé le fil mais juste en te lisant pour préciser :

  • Le "-4142" ou "xlnone" équivaut à aucun remplissage de couleur dans la cellule. Dans la palette cela revient à mettre "Aucun remplissage"
  • Le "-4105" ou "xlautomatic" équivant à mettre la police en noir. Dans la palette cela revient à mettre "Automatic"

Amicalement

Bonjour Dan, forum,

Mieux vaut plusieurs avis,

comment toi, tu aurais écrit cette ligne ?

sachant que ces 3 lignes ci-dessous me donne une couleur "blanc"

Columns(2).Interior.ColorIndex = -4105 
Columns(2).Interior.ColorIndex = xlAutomatic
Columns(2).Interior.Color = xlAutomatic

et ton avis sur:

Columns(2).Interior.Color = RGB(0, 0, 0)

valable sur toutes les "bécanes" et versions ?

Bonne journée

Claude

Re,

Si c'est mettre une couleur de fond "Blanc" dans une colonne complète j'aurais utilisé ce code

Columns(2).Interior.ColorIndex = 2

Si c'est pour revenir aux paramètrex de couleur std excel, c'est à dire une feuille sans couleur de fond, j'utiliserais ce code ci :

Columns(2).Interior.ColorIndex = xlNone

Le xlautomatic ne fonctionne pas (testé en Excel 2000)

Tu peux aussi utiliser le RGB qui te permet d'affiner les couleurs. C'est d'ailleurs le plus sûr si tu veux déjouer les couleurs de la palette excel mais aussi plus compliqué. D'où les palettes bien pratiques fournies avec excel qui ne sont d'ailleurs que du RGB figé.

exemple :

Le RGB(0,0,0) te donnera du noir

Le RGB(255, 255,255) te donnera le meilleur blanc. Si tu veux du blanc moins blanc tu peux ajuster une des trois composantes --> ex : RGB(255,255,0)

Regarde ce lien et le petit code qui te permet de voir ou adapter les couleurs et de connaitre la valeur RGB --> https://forum.excel-pratique.com/excel/colorier-automatiquement-une-forme-a-partir-de-donnees-rvb-t1948.html

Amicalement

re Dan,

Dans mon cas je veux une colonne en "Noir"

et comme je disais au début, le ColorIndex ne donne pas les résultats attendus,

---- Conclusion ----

j'opte pour cette ligne qui fonctionne (chez moi du moins)

Columns(2).Interior.Color = RGB(0, 0, 0)

encore merci à tous

Amicalement

Claude

Rechercher des sujets similaires à "vba couleur fond"