Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Marquer en couleur la 2ème plus grande valeur

  • Initiateur de la discussion Initiateur de la discussion JGW
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JGW

Guest
Bonjour à tous,

Voilà mon problème:
J'ai 4 valeurs dans un tableau, et j'aurai besoin de marquer la plus grande valeur en rouge, la 2ème plus grande en jaune et laisser les deux autres inchangées (en noir).

Je suis parvenu à colorer la plus grande en rouge (avec une boucle for each cell in selection if cell.value>maxi then maxi=cell.value où maxi est initialisé à zéro), mais je n'arrive pas à trouver de code VBA pour colorer la 2ème valeur en jaune.

Merci de bien vouloir m'aider, ce serait super de votre part... 😀😀

Bonne journée!

JGW
 
Re : Marquer en couleur la 2ème plus grande valeur

Bonjour JGW,

Sans fichier exemple ni code complet, difficile de te venir en aide. Au cas où, j'ai bricolé ceci :
VB:
Sub Col()
    Dim max1 As Double, Max2 As Double, cell As Range
    max1 = 0
    Max2 = 0
    For Each cell In Selection
        If cell.Value > max1 Then
            Max2 = max1
            max1 = cell.Value
        End If
    Next
    For Each cell In Selection
        If cell.Value = max1 Then cell.Interior.ColorIndex = 3
        If cell.Value = Max2 Then cell.Interior.ColorIndex = 6
    Next
End Sub

A+
 
Re : Marquer en couleur la 2ème plus grande valeur

Bonjour,

Regarde avec ceci. Adapte la plage, ici en colonne A :
Code:
Sub Reference()

    Dim Plage As Range
    
    With ActiveSheet
    
        Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    
    End With
    
    With Application.WorksheetFunction
    
        Plage.Find(.Large(Plage, 1), , xlValues).Interior.ColorIndex = 3
        Plage.Find(.Large(Plage, 2), , xlValues).Interior.ColorIndex = 6
        
    End With
    
End Sub

Hervé.
 
Re : Marquer en couleur la 2ème plus grande valeur

Ah, en fait j'ai une petite question Hervé...

La macro ne semble pas fonctionner pour les nombres décimaux.
Que puis-je faire?

Merci🙂
 
Re : Marquer en couleur la 2ème plus grande valeur

Re,

Je viens de tester et la macro colore bien les deux plus grandes valeurs, décimale ou pas et positif ou négatif, dans la plage ???
Ici, je suis sous Excel 2003.

Hervé.
 
Re : Marquer en couleur la 2ème plus grande valeur

Bonjour à tous,

Dans le pire des cas (ou pas), tu peux toujours utiliser ma solution qui fonctionne quelque soit le type de valeur numérique concerné !

Voilà une idée !

A+
 
Re : Marquer en couleur la 2ème plus grande valeur

En fait, la macro ne marche pas avec des décimales très longues (type: 8,344555565566) 🙂
J'ai réduit la longueur du coup!
Merci!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
7
Affichages
1 K
philippe_chalon01
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…