Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

dancar

XLDnaute Junior
Bonjour à tous,

je souhaite mettre un fond jaune à la cellule contenant le plus grand nombre pour chacune des colonne B, C et D.
j'ai trouvé sur un forum le code suivant pour la colonne "B".

Columns.Find(Application.Max([B:B])).Interior.ColorIndex = 6

Mais pour la colonne "D" il ne fonctionne pas car les cellules contiennent une formule.
Malgrès de longues recherches sur divers forum, je n'ai pas trouvé la solution, il faut dire aussi que je n'ai que de toutes petites connaissances en VBA.
Je pourrai copier et ne coller que la valeur des cellules de la colonne "D" mais j'ai besoin de garder les formules.
Dans le fichier joint je n'ai laissé que la partie du code concerné.

Par avance merci à tout ceux ou celles qui voudront bien m'aider.
 

Pièces jointes

  • CouleurPlusGrandNombre.xls
    29.5 KB · Affichages: 23
  • CouleurPlusGrandNombre.xls
    29.5 KB · Affichages: 29
  • CouleurPlusGrandNombre.xls
    29.5 KB · Affichages: 29

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Bonjour Staple1600,
Merci pour tes conseils, il est vrai que je n'ai pas le réflexe de la touche F1, interressant le site.
No problémo pour la touche d'humour et d'ironie.
Salutation.

Oups, doublon car ma réponse de s'était pas affichée
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Pas de problème pour moi non plus mais avec un peu de pratique si vous faites un peu de VBA vous vous rendrez compte que de faire la déclaration de variables est très utile.

Pour revenir au fichier
Que faut-il faire s'il est détecté des doublons
Ok ne pas les colorer mais ensuite ?
 

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Ensuite rien d'autre, en cas de doublon il faut que la cellule colorée soit celle qui se trouve le plus en haut de la colonne et les doublons non colorés. Ne perdez pas non plus tout votre temps avec cela, vous m'avez déjà beaucoup aidé.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Ensuite rien d'autre, en cas de doublon il faut que la cellule colorée soit celle qui se trouve le plus en haut de la colonne et les doublons non colorés. Ne perdez pas non plus tout votre temps avec cela, vous m'avez déjà beaucoup aidé.
he bien il n'y a rien à modifier je crois que c'est ce que fait la macro
elle colore uniquement la première occurrence max qu'elle trouve
 

Staple1600

XLDnaute Barbatruc
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Bonjour à tous


En attendant que ma cafetière fasse son office, une autre possibilité en MFC en VBA
Code:
Sub MarquerMAXColonnes()
Dim a As Range, b As Range
On Error Resume Next
With Range("B:B:D:D")
Set a = .SpecialCells(-4123, 23): Set b = .SpecialCells(2, 23)
End With
With Union(a, b)
.FormatConditions.Add Type:=xlExpression, Formula1:="=B1=MAX(B:B)"
.FormatConditions(1).Interior.Color = 255
End With
End Sub
NB: C'est la même formule que Gilbert_RGI postée plus bas.
 

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Aujourd'hui 10h36 #14 dancar
Votre proposition de MFC ets parfaite aussi, juste un bémol, les doublons sont aussi colorés, avez vous une solution pour éviter cela ?
Je faisais allusion à ma réponse de 10h36, concernant votre solution par MFC, mais c'est vrai que j'aurais du le préciser.
 

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Staple1600
J'avais pas vu ton message car en train de répondre.
OK pour ton code qui met des MFC.
En fait il était question de modifier la MFC =B3=MAX($B$3:$B$1000) pour pas que les doublons soient colorés mais juste la valeur MAX le plus en haut de la colonne.
 

DoubleZero

XLDnaute Barbatruc
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Bonjour à toutes et à tous,

dancar,

Par message privé, vous écrivez :

...Dans ta suggestion pour les doublons, est il possible de conserver seulement une partie du code afin que les doublons ne soient pas colorés, mais seulement la valeur Max la plus en haut dans la colonne ?...

Or, le code proposé par gilbert_RGI, en #5, répond parfaitement au besoin.

A bientôt :)
 

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Bonjour tout le monde,

Tu as tout à fait raison et je remercie encore gilbert_RGI, je me demandais simplement si on ne pouvait pas faire une seule petite ligne du genre : Columns.Find(Application.Max([B:B])).Interior.ColorIndex = 6
mais en utilisant ton : [d:d].SpecialCells(xlCellTypeFormulas, 23).
J'ai essayé de bidouiller comme: Columns.Find(Application.Max([d:d]).SpecialCells(xlCellTypeFormulas, 23))).Interior.ColorIndex = 6
et cela ne fonctionne pas. (j'ai mis d:d en minuscule sinon, cela mettait des émoticones ;))
Par curiosité à quoi correspond ,23 car même si on l'enlève, ton code fonctionne.

Bien cordialement
 

dancar

XLDnaute Junior
Re : Mettre fond de couleur jaune à la cellule contenant le plus grand nombre

Bonjour Staple1600,

Tout à fait et vous remercie tous, j'ai plusieurs solutions et c'est pour ça que j'étais passé par message privé à DoubleZero car je ne voulais pas alourdir le post, des fois je suis un peu voir même beaucoup "bourrin" et je cherche la ptite bête là ou elle n'est pas ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 271
Messages
2 086 688
Membres
103 372
dernier inscrit
BibiCh