TOP 10 la somme de valeurs issues d'un TCD

MR71

XLDnaute Junior
Bonjour forum. Sans intervenir dans le TCD, je souhaiterais faire une formule qui fait la somme des valeurs d'une même variable et afficher les 10 plus grandes valeurs. Je ne suis pas claire, c'est pourquoi je joins mon fichier.:mad:
Merci
 

Fichiers joints

Dernière édition:

Odesta

XLDnaute Impliqué
Re : TOP 10 la somme de valeurs issues d'un TCD

Bonjour

Le TOP10, c'est par libellé (donc 10 x le nombre de libellé) ou c'est global (10 en tout, indépendamment du nombre de libellé) ?
 

MR71

XLDnaute Junior
Re : TOP 10 la somme de valeurs issues d'un TCD

Bonjour Odesta. Ce sont les 10 libellés différents qui ont la plus grande valeur
Merci de vous occuper de mon souci
 

Efgé

XLDnaute Barbatruc
Re : TOP 10 la somme de valeurs issues d'un TCD

Bonjour à tous,
Un essai sous 2003: Clik droit sur "International" / Paramètre de champ / Avancé / Affichage Automatique des 10 premiers / Activé / Sur le champ (choisir dans la liste). Vous pouvez régler le nombre de "premiers" affichés.
Cordialement
 

Odesta

XLDnaute Impliqué
Re : TOP 10 la somme de valeurs issues d'un TCD

Re, Bonjour Efgé

J'ai retrouvé mon bout de code, réalisé dans ce même but

Code:
Function Recup_Titre(matrice As Range, num_colonne_nom As Integer, num_colonne_valeur As Integer, rang As Double)

'Réalisation : ODESTA
'Date 2009
Dim tableau_nom(1 To 10000) As String
Dim tableau_valeur(1 To 10000) As Integer

valeur_trouve = 0


'mettre les valeurs dans un tableau
ligne = 0
For Each ID_ligne In matrice.Rows
    ligne = ligne + 1
    tableau_valeur(ligne) = matrice(ligne, num_colonne_valeur)
    tableau_nom(ligne) = matrice(ligne, num_colonne_nom)

Next

'trier les tableaux de 1 à ligne
i = 1
While i <= ligne
    If tableau_valeur(i) < tableau_valeur(i + 1) Then
        'inverser
        valeur_temp = tableau_valeur(i)
        tableau_valeur(i) = tableau_valeur(i + 1)
        tableau_valeur(i + 1) = valeur_temp
        valeur_temp = tableau_nom(i)
        tableau_nom(i) = tableau_nom(i + 1)
        tableau_nom(i + 1) = valeur_temp
        i = 1
    Else
    i = i + 1
    End If
Wend


Recup_Titre = tableau_nom(rang)


End Function
Il faut l'adapter, pour supprimer éventuellement les zones de titre.
On peut l'associer à =GRANDE.VALEUR( ; )

Olivier
 

Discussions similaires


Haut Bas