XL 2016 n plus grand nombres dun tableau

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'ai eu du mal mais je suis arrivé à trouver une solution par MFC (Mise en forme conditionnelle).

Sur F3:AP86 :
Code:
=NB.SI($F3:F3;F3)<=SOMME(N(GRANDE.VALEUR($F3:$AP3;LIGNE(INDIRECT("1:"&$G$1)))=F3))
Attention votre fichier était en mode de calcul Manuel, je l'ai mis en Automatique.
 

Pièces jointes

J'ai eu du mal mais je suis arrivé à trouver une solution par MFC (Mise en forme conditionnelle).

Sur F3:AP86 :
Code:
=NB.SI($F3:F3;F3)<=SOMME(N(GRANDE.VALEUR($F3:$AP3;LIGNE(INDIRECT("1:"&$G$1)))=F3))
Attention votre fichier était en mode de calcul Manuel, je l'ai mis en Automatique.
Bonnjour jai bien vu votre Reponse et je vous remercie pour cela.... en fait mes données reeles ont des lettres et des chiffres et lidée cest de pourvoir recchercher les plus grandes valeurs sur chaque ligne et les Quadriller comme sur lexmple...
J'ai eu du mal mais je suis arrivé à trouver une solution par MFC (Mise en forme conditionnelle).

Sur F3:AP86 :
Code:
=NB.SI($F3:F3;F3)<=SOMME(N(GRANDE.VALEUR($F3:$AP3;LIGNE(INDIRECT("1:"&$G$1)))=F3))
Attention votre fichier était en mode de calcul Manuel, je l'ai mis en Automatique.

merci pour ta réaction très intéressant
mais Jai pas réussi a l'adapter car mes réelles données sont comme dans l'exemple.
donc certaines cellules auront des données numériques et d'autre des données numériques associes a des caractères.... et je drois quadriller comme dans l exemple tous les k plus grand de chaque lignes....
peut tu maider aadapter le code?
 

Pièces jointes

Bonjour esaurelien, le forum,

Bien sûr avec des valeurs alphanumériques il faut du VBA.

Mais avec des bordures diagonales c'est vicieux car les bordures ne suivent pas les tris.

Mais avec un peu d'astuce (la couleur rouge) on y arrive :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim N, P As Range, ncol%, ordre, r As Range, memo, a, i%, v, x$, j%, c As Range
N = Int(Val([G1]))
Set P = [F3:AP86] 'à adapter
If N > P.Columns.Count Then N = P.Columns.Count
Application.ScreenUpdating = False
P.Borders(xlDiagonalUp).LineStyle = xlNone
P.Interior.ColorIndex = xlNone 'pas de couleur
If N <= 0 Then Exit Sub
ncol = P.Columns.Count
ordre = P.Rows(0)
Application.EnableEvents = False 'désactive les évènements
For Each r In P.Rows
    memo = r(0).Resize(2) 'mémorise les 2 lignes
    r(0) = ordre
    a = r 'matrice, plus raide
    For i = 1 To ncol
        If Not IsNumeric(a(1, i)) Then
            v = a(1, i)
            x = ""
            For j = 1 To Len(v)
                If IsNumeric(Mid(v, j, 1)) Then x = x & Mid(v, j, 1)
            Next j
            a(1, i) = Val(x)
        End If
    Next i
    r = a
    r(0).Resize(2).Sort r, xlDescending, Header:=xlNo, Orientation:=2 '1er tri horizontal
    r.Resize(, N).Interior.Color = vbRed 'couleur car les bordures ne suivent pas les tris
    r(0).Resize(2).Sort r(0), xlAscending, Header:=xlNo, Orientation:=2 '2ème tri horizontal
    r(0).Resize(2) = memo
    For Each c In r.Cells
        If c.Interior.Color = vbRed Then c.Borders(xlDiagonalUp).Weight = xlThin 'applique les bordures diagonales
    Next c
Next
P.Interior.ColorIndex = xlNone 'efface la couleur rouge
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 

Pièces jointes

- 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

Discussions similaires

Réponses
1
Affichages
41
Réponses
11
Affichages
74
Réponses
10
Affichages
272
Réponses
4
Affichages
97
Retour