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

gilbert_RGI

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

bonjour

voir la mise en forme conditionnelle ex: =B3=MAX($B$3:$B$1000)
 

Pièces jointes

  • CouleurPlusGrandNombre.xls
    55.5 KB · Affichages: 23
  • CouleurPlusGrandNombre.xls
    55.5 KB · Affichages: 28
  • CouleurPlusGrandNombre.xls
    55.5 KB · Affichages: 30

dancar

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

Merci Gilbert,
Ok pour la solution via MFC, j'y avais pensé, mais c'est bien par macro que je voulais le faire et aussi pour savoir pourquoi le code ne fonctionne pas quand il y a une formule dans les cellules, si pas possible j'opterai pour la MFC.
En tout cas super sympa d'avoir répondu aussi vite.
 

gilbert_RGI

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

tester ce code, il fonctionne chez moi

VB:
Sub CouleurPlusGrandNombre()
    Dim Ws As Worksheet
    Dim rep As Variant, lig As Integer
    Set Ws = Sheets(1)
    With Ws
        [B:D].Interior.ColorIndex = xlNone    'Rajouter pour les test
        .Columns.Find(Application.Max([B:B])).Interior.ColorIndex = 6
        .Columns.Find(Application.Max([C:C])).Interior.ColorIndex = 6
        'Columns.Find(Application.Max([D:D])).Interior.ColorIndex = 6
        rep = Application.WorksheetFunction.Max([D:D])
        lig = Application.Match(rep, [D:D], 0)
        .Cells(lig, 4).Interior.ColorIndex = 6
        'Ne fonctionne pas car il y a une formule dans les cellules
        ' Si une solution existe pour éviter de répéter le code pour chaque colonne, je suis preneur
    End With
End Sub
 

gilbert_RGI

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

ou ça pour éviter les répétitions

VB:
Option Explicit
Sub CouleurPlusGrandNombre()
    Dim Ws As Worksheet
    Dim rep As Variant, lig As Integer, i As Integer
    Set Ws = Sheets(1)
    With Ws
        [B:D].Interior.ColorIndex = xlNone    'Rajouter pour les test
        For i = 2 To 4
        rep = Application.WorksheetFunction.Max(.Range(.Cells(2, i), .Cells(Rows.Count, i)))
        lig = Application.Match(rep, .Range(.Cells(2, i), .Cells(Rows.Count, i)), 0) + 1
        .Cells(lig, i).Interior.ColorIndex = 6
        Next
    End With
End Sub

:cool:
 
Dernière édition:

dancar

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

:) Vos deux codes fonctionnent à merveille.

Je ne fais vraiment qu'occasionnellement des macro, en général j'utilise l'éditeur d'Excel, j'allège au maximum le code obtenu et je farfouille aussi sur Internet.

Je ne met jamais de: Dim, As Variant, As Integer,Set, Option Explicit, Public etc dans mes macro car je ne sais pas à quoi ça sert et en général elles fonctionnent sans, en plus l'Anglais et moi...

Maintenant que j'ai ma solution que dois je faire, je ne trouve pas comment clore le sujet.

Un énorme merci à vous d'avoir passé de votre temps pour m'aider.
 

DoubleZero

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

Bonjour à toutes et à tous,

Bienvenue sur XLD, dancar.

Une autre suggestion pour les valeurs en colonne d... si présence de doublons :

Code:
Sub Valeurs_max_en_d_colorer_doublons_inclus()
    Dim c As Range, maxi
    [d:d].Interior.ColorIndex = xlNone
    maxi = Application.max(Range("d:d"))
    For Each c In [d:d].SpecialCells(xlCellTypeFormulas, 23)
        If c = maxi Then c.Interior.ColorIndex = 4
    Next
End Sub

A bientôt :)
 

dancar

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

Bonjour DoubleZero,
J'ai essayé, mais ça ne colorie pas les doublons (enfin sauf erreur de ma part), en fait je ne veux pas que doublon coloré.
Merci quand même
 

dancar

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

Bein, il faut que je change de lunette, car je ne vois pas le bouton pour clore.
Bon jva bien regarder partout alors.

Je dois être benêt, je trouve vraiment pas le bouton pour clore le sujet.
 
Dernière édition:

Staple1600

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

Bonsoir à tous

Pour info
Ce bouton* n'existe pas.
Et il n'est absolument pas obligatoire d'indiquer qu'un post est résolu.

NB: *: DavidXLD, webmaster d'XLD est d'ailleurs plutôt contre.
 

gilbert_RGI

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

Bonsoir Staple1600,
Merci, j'ai vraiment cru que j'avais un grave problème de vue

Désolé de vous avoir fait chercher, je pensais qu'il y avait quelque chose
J'ai du confondre avec un autre forum ou il y a un procédé pour indiquer que la discussion est close
Merci Staple1600
 
Dernière édition:

dancar

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

Bonjour Gilbert,
Ne sois pas désolé, il n'y a aucun problème pour moi, c'était de l'humour et au contraire j'ai pensé après coup que vous pouviez mal prendre le fait que je dise: "Je ne met jamais de: Dim, As Variant, As Integer,Set, Option Explicit, Public etc dans mes macro car je ne sais pas à quoi ça sert et en général elles fonctionnent sans, en plus l'Anglais et moi..." c'est vrai que j'aimerai bien maîtriser VBA mais c'est trop compliqué pour le peu de macro que je fait.

Votre proposition de MFC ets parfaite aussi, juste un bémol, les doublons sont aussi colorés, avez vous une solution pour éviter cela ?

Bien cordialement et bon week end
 

Staple1600

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

Bonjour à tous

dancar
Je ne met jamais de: Dim, As Variant, As Integer,Set, Option Explicit, Public etc dans mes macro car je ne sais pas à quoi ça sert
Pour éclairer ta lanterne, tu peux :
1) aller dans VBE (ALT+F11) et appuyez sur la touche F1
2) lire ce que l'on trouve ici:
https://support.microsoft.com/en-us/kb/843144/fr
Dans les deux cas, cela nécessite d'être un tantinet curieux ;)
(NB: c'est un trait d'humour avec un chouia d'ironie, mais cela reste amical et indolore ;))
 

Discussions similaires

Statistiques des forums

Discussions
312 266
Messages
2 086 655
Membres
103 354
dernier inscrit
roukhein