KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment créer une liste dynamique des 10 premiers ou une liste « top N » dans Excel ?

AuteurXiaoyang Date de modification

Dans de nombreux projets et processus professionnels, il est courant de devoir classer des individus, organisations, produits ou autres entités en fonction de leur performance ou de leurs valeurs numériques. Une « liste des meilleurs » met en lumière les entrées les plus performantes — par exemple, les élèves ayant les meilleures notes, les commerciaux les plus efficaces ou les départements générant le plus de chiffre d’affaires. Imaginez que vous disposiez d’un tableau de notes d’élèves et que vous souhaitiez extraire dynamiquement les 10 meilleurs résultats pour des récompenses, une analyse ou un suivi pédagogique, comme le montre la capture d’écran ci-dessous. Créer une liste dynamique des 10 premiers (ou « top N ») dans Excel vous permet d’obtenir des résultats automatiquement mis à jour dès que vos données changent, ce qui vous fait gagner du temps tout en éliminant les erreurs liées au classement manuel. Ce guide vous propose plusieurs solutions pratiques — formules, tableaux croisés dynamiques et macros VBA — pour construire facilement une liste dynamique des 10 premiers (ou « top N ») adaptée à vos besoins d’analyse de données.


Créer une liste dynamique des 10 premiers dans Excel

Dans Excel 2019 et les versions antérieures, la création d’une liste dynamique des 10 premiers (ou « top N ») repose sur une combinaison de formules permettant d’extraire simultanément les meilleures valeurs ainsi que les noms ou identifiants qui leur sont associés. Cette approche, largement adoptée, convient parfaitement aux cas où vous souhaitez que la liste s’actualise automatiquement dès que vos données évoluent. Les étapes suivantes détaillent comment y parvenir à l’aide de formules Excel classiques : elles offrent une grande flexibilité, ne nécessitent aucun complément spécifique, mais requièrent une configuration légèrement plus complexe que celle des fonctions modernes de tableaux dynamiques.

Formules pour créer une liste dynamique des 10 premiers

1. Commencez par extraire les 10 meilleures valeurs de votre plage de données. Saisissez la formule suivante dans une cellule vide (par exemple, G2), puis faites glisser la poignée de recopie vers le bas pour générer automatiquement votre liste dynamique des 10 meilleures valeurs. Voir la capture d’écran :

=LARGE($B$2:$B$20,ROWS(B$2:B2))
Remarque: Ici,B2:B20est la plage des notes ou des valeurs, et B2est la première cellule de cette colonne. Ajustez ces références en fonction de la taille et de l’emplacement de vos données.

appliquer une formule pour extraire les 10 premières valeurs

2. Ensuite, pour afficher les noms (ou identifiants) correspondant à ces meilleures valeurs, saisissez la formule suivante en F2. Il s’agit d’une formule matricielle ; après l’avoir saisie, appuyez sur Ctrl + Maj + Entrée pour la valider. Cette formule recherche les noms associés aux meilleures valeurs que vous venez d’extraire :

=INDEX($A$2:$A$20,SMALL(IF($B$2:$B$20=G2,ROW($B$2:$B$20)-ROW($B$1)),COUNTIF($G$2:G2,G2)))
Explication des paramètres:
-A2:A20est la plage à partir de laquelle extraire les noms ;
-B2:B20est la plage des notes ou des valeurs ;
-G2correspond à la valeur maximale issue de la formule ci-dessus ;
-B1est l’en-tête de la liste des valeurs, utilisé comme référence dans les calculs de LIGNE.
Cette formule associe dynamiquement les valeurs les plus élevées à leurs noms respectifs. Si votre plage de valeurs contient des doublons, la fonction NB.SI garantit que chaque nom correspondant n’apparaît qu’une seule fois avec sa note.

utiliser une formule pour obtenir l’élément relatif

3. Après avoir extrait le premier résultat, sélectionnez la formule en F2 et faites glisser la poignée de recopie vers le bas pour l’appliquer à autant de lignes que nécessaire. Vos résultats s’ajusteront automatiquement pour afficher les noms de toutes les meilleures entrées, accompagnés de leurs notes respectives. Voir la capture d’écran :

faire glisser et remplir la formule dans d’autres cellules

une capture d’écran de kutools for excel ia

Libérez la magie d’Excel avec Kutools IA

  • Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
  • formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
  • Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
  • Interprétation de formules : Décryptez facilement les formules complexes.
  • Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Améliorez vos capacités Excel grâce à des outils alimentés par l’intelligence artificielle.Téléchargez dès maintenantet découvrez une efficacité inégalée !

Formules pour créer une liste dynamique des 10 premiers avec critères

Dans certaines analyses, vous pouvez avoir besoin d’une liste des meilleurs éléments ne comprenant que les entrées répondant à des critères spécifiques — par exemple, restreindre les meilleurs résultats à un groupe, une équipe ou une catégorie donnée. Vous souhaiterez peut-être ainsi identifier les 10 meilleures notes de la « Classe 1 » uniquement, à partir d’une feuille contenant les notes de plusieurs classes. Voici comment utiliser des formules dans ce cas :

créer une liste dynamique des 10 premiers avec critères

1. Commencez par extraire les 10 meilleures valeurs correspondant à votre critère (par exemple, « Classe 1 »). Saisissez cette formule dans la cellule cible (par exemple, J2) :

=LARGE(IF($B$2:$B$25=$F$2,$C$2:$C$25),ROW(I2)-ROW(I$1))

2. Après avoir saisi la formule, appuyez sur Ctrl + Maj + Entrée pour la valider en tant que formule matricielle, puis faites glisser la poignée de recopie vers le bas afin de remplir les autres cellules. La formule renverra les 10 meilleures valeurs correspondant à votre condition (par exemple, toutes les notes de la « Classe 1 »).

appliquer une formule pour extraire les 10 premières valeurs selon des critères

3. Pour répertorier les noms correspondant à ces valeurs maximales selon vos critères, copiez et collez la formule ci-dessous dans la cellule I2, puis appuyez sur Ctrl + Maj + Entrée en tant que formule matricielle. Ensuite, étirez-la vers le bas autant que nécessaire pour générer la liste complète des noms.

=INDEX($A$2:$A$25,SMALL(IF(($C$2:$C$25=J2)*($B$2:$B$25=$F$2),ROW($C$2:$C$25)-ROW($C$1)),COUNTIF(J2:$J$2,J2)))

utiliser une formule pour créer une liste dynamique des 10 premiers dans Office 365

Veillez à adapter les plages utilisées dans vos formules afin qu’elles correspondent exactement à la structure réelle de vos données. Sachez que l’utilisation de grandes plages avec des formules matricielles peut nuire aux performances. Si des valeurs en double figurent parmi vos 10 premiers résultats, la formule gérera correctement les notes identiques et affichera plusieurs noms d’élèves lorsque leurs résultats sont égaux.


Créer une liste dynamique des 10 premiers dans Office 365

Alors que les versions antérieures d’Excel exigeaient la combinaison de plusieurs fonctions via des formules matricielles, Office 365 (et Excel 2021) introduit des fonctions de tableaux dynamiques telles qu’INDEX, TRIER, SEQUENCE et FILTRER, qui simplifient considérablement ce processus. Ces fonctions rendent la création de listes dynamiques des 10 premiers plus facile, réduisent les erreurs et s’avèrent particulièrement efficaces pour les tableaux en constante évolution ou fréquemment mis à jour. Si vous travaillez dans un environnement où les données changent régulièrement, ces fonctions optimisent votre analyse et accélèrent la prise de décisions commerciales.

Formule pour créer une liste dynamique des 10 premiers

Pour extraire et afficher une liste dynamique des 10 premiers à l’aide d’Office 365, saisissez la formule ci-dessous dans la cellule de votre choix. Il vous suffit d’adapter les plages et les valeurs selon vos besoins, et la formule mettra automatiquement à jour les 10 meilleurs résultats dès que vos données seront modifiées.

=INDEX(SORT(A2:B20,2,-1),SEQUENCE(10),{1,2})

Il vous suffit d’appuyer sur la touche Entrée. La liste complète des 10 premiers s’affiche instantanément et reste dynamique : toute nouvelle donnée ou modification de notes se reflète immédiatement dans votre classement.

utiliser une formule pour créer une liste dynamique des 10 premiers dans Office 365

Conseils:

Fonction TRIER :

=TRIER(plage; [index_tri]; [ordre_tri]; [par_colonne])

  • plage : La plage que vous souhaitez trier.
  • [index_tri] : numéro de la colonne selon laquelle effectuer le tri. Dans un tableau de notes classique, il s’agit souvent de la deuxième colonne.
  • [ordre_tri] : Utilisez 1 pour un tri croissant ou -1 pour un tri décroissant. Pour afficher les meilleures notes en premier, utilisez -1.
  • [par_colonne] : indique s’il faut trier par colonnes (VRAI) ou par lignes (FAUX ou omis).

Par exemple : TRIER(A2:B20;2; -1) trie la plage A2:B20 selon la deuxième colonne, par ordre décroissant.


Fonction SEQUENCE :

=SEQUENCE(lignes; [colonnes]; [début]; [pas])

  • lignes : nombre de lignes à renvoyer, par exemple 10 pour obtenir la liste des 10 premiers.
  • [colonnes] : (facultatif) nombre de colonnes à renvoyer.
  • [début] : (facultatif) Valeur de départ.
  • [pas] : (facultatif) Valeur d’incrément.

La fonction SEQUENCE(10) génère les nombres de 1 à 10, permettant ainsi à INDEX de sélectionner les 10 premiers résultats triés.

En combinant ces fonctions, =INDEX(TRIER(A2:B20;2;-1);SEQUENCE(10);{1;2}), vous obtenez une liste dynamique des 10 premiers sur deux colonnes.


Formule pour créer une liste dynamique des 10 premiers avec critères

Si vous souhaitez extraire les 10 premiers éléments d’un groupe spécifique, tel que la « Classe 1 », ces fonctions avancées d’Office 365 vous permettent de générer une liste des N premiers en incluant uniquement les lignes correspondant à vos critères. Insérez la formule ci-dessous à l’emplacement souhaité et ajustez les plages ainsi que la cellule contenant le critère selon vos besoins :

=INDEX(SORT(FILTER(A2:C25,B2:B25=F2),3,-1),SEQUENCE(10),{1,3})

Une fois la formule saisie, appuyez simplement sur la touche Entrée. La liste des 10 premiers résultats, filtrée et triée uniquement selon votre critère, s’affiche instantanément et se met à jour automatiquement dès que vous modifiez vos données ou votre critère.

une autre formule pour créer une liste dynamique des 10 premiers avec critères dans Office 365

Conseils:

Fonction FILTRE :

=FILTRE(plage; inclure; [si_vide])

  • plage : La plage de cellules à filtrer.
  • inclure : la condition (par exemple, égale à une classe donnée) pour l’inclusion.
  • [si_vide] : (Facultatif) Ce qui doit s’afficher lorsqu’aucun résultat ne correspond aux critères.

=FILTRE(A2:C25;B2:B25=F2) renvoie uniquement les lignes dont la colonne B correspond à la valeur située en F2.


Créer une liste dynamique des 10 premiers avec un Tableau croisé dynamique

Tableau croisé dynamique : Afficher automatiquement les N meilleurs résultats de manière interactive

Une autre méthode pour créer une liste dynamique des N premiers consiste à utiliser la fonctionnalité **Tableau croisé dynamique** d’Excel. Cette approche est particulièrement adaptée aux grands jeux de données, à l’analyse interactive — comme modifier rapidement le nombre d’éléments affichés ou appliquer des filtres — ou lorsque vous souhaitez éviter les formules complexes. Les tableaux croisés dynamiques sont simples à utiliser et se mettent à jour automatiquement dès que les données changent, ce qui les rend idéaux pour les tableaux de bord ou les rapports partagés.

Pour créer une liste dynamique des N premiers à l’aide d’un Tableau croisé dynamique :

  1. Cliquez n’importe où dans votre tableau de données, puis accédez à Insertion > Tableau croisé dynamique.
  2. Dans la boîte de dialogue Tableau croisé dynamique, choisissez l’emplacement où vous souhaitez insérer votre tableau croisé dynamique, puis cliquez sur OK.
  3. Faites glisser votre champ « Nom » (ou un identifiant similaire) dans la zone Lignes.
  4. Faites glisser votre champ « Note » (ou colonne de valeurs) dans la zone Valeurs. Par défaut, Excel applique généralement « Somme de » ou « Nombre de ». Pour mettre en avant les meilleurs éléments, privilégiez « Somme » ou « Max ». Si nécessaire, modifiez le calcul du champ de valeur en cliquant avec le bouton droit et en sélectionnant Résumer les valeurs par.
  5. Triez la colonne « Note » par ordre décroissant en cliquant avec le bouton droit sur une valeur, puis en sélectionnant Trier > Trier du plus grand au plus petit.
  6. Pour limiter aux N premiers résultats, cliquez sur la flèche déroulante des étiquettes de ligne, sélectionnez Filtres de valeurs > Haut 10..., indiquez le nombre souhaité (par exemple, « Haut 10 ») ainsi que le champ à filtrer, puis cliquez sur OK.

Votre tableau croisé dynamique affiche désormais la liste dynamique des 10 premiers (ou de tout autre nombre N que vous spécifiez). Pour modifier ce chiffre, il vous suffit d’ajuster les paramètres du filtre. Si vos données évoluent, actualisez simplement le tableau croisé dynamique pour mettre à jour instantanément le classement.

Les avantages de cette approche incluent une configuration rapide, un tri simplifié et un ajustement interactif. Toutefois, les tableaux croisés dynamiques ne peuvent pas ajouter automatiquement les lignes correspondantes d’autres colonnes, sauf si celles-ci figurent dans la zone Lignes ou Valeurs. Les utilisateurs avancés peuvent encore personnaliser leurs rapports en regroupant des éléments, en créant des segments ou en intégrant le filtre N premiers dans leurs tableaux de bord.


Créer une liste dynamique des 10 premiers à l’aide de VBA

Macro VBA : Générez et actualisez automatiquement une liste des N premiers

L’utilisation d’une macro VBA convient particulièrement aux utilisateurs qui gèrent des données volumineuses ou fréquemment mises à jour, et qui ont besoin d’automatiser l’extraction et la mise à jour d’une liste dynamique des N premiers. Les macros sont idéales pour réduire les tâches répétitives et garantir la cohérence. Vous pouvez créer une routine qui trie vos données et copie uniquement les N premières lignes vers un emplacement déterminé à chaque exécution.

Pour utiliser une macro VBA afin de créer une liste dynamique des N premiers, suivez ces étapes :

  1. Cliquez sur Développeur > Visual Basic pour ouvrir l’éditeur VBA. (Si l’onglet Développeur n’est pas visible, allez dans Fichier > Options > Personnaliser le ruban et cochez « Développeur ».)
  2. Dans la fenêtre VBA, cliquez sur Insertion > Module pour ajouter un nouveau module.
  3. Collez le code VBA suivant dans le module :
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
    Dim DataRange As Range
    Dim OutputRange As Range
    Dim N As Integer
    Dim ws As Worksheet, tempWS As Worksheet
    Dim xTitleId As String
    Dim LastCol As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
    Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
    N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
    
    If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
    
    ' Create a temporary worksheet to avoid sorting original data
    Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    DataRange.Copy tempWS.Range("A1")
    
    ' Determine last column for sorting key
    LastCol = DataRange.Columns.Count
    
    ' Sort in temporary sheet
    tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
    
    ' Copy headers and top N rows to output
    tempWS.Rows(1).Copy Destination:=OutputRange
    tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
    
    ' Optional: Delete temporary sheet
    Application.DisplayAlerts = False
    tempWS.Delete
    Application.DisplayAlerts = True
    
    Application.CutCopyMode = False
End Sub

4. Pour exécuter la macro, assurez-vous que vos données sont correctement organisées dans un tableau avec des en-têtes. Appuyez sur F5 ou cliquez sur le bouton Bouton Exécuter dans l’éditeur VBA. Vous serez invité à :

  1. Sélectionnez votre plage de données (en incluant les en-têtes pour un tri précis).
  2. Sélectionnez la cellule de destination dans laquelle vous souhaitez coller les résultats.
  3. Saisissez le nombre N (par exemple, 10 pour les 10 premiers).

La macro copiera les N premières entrées (en-têtes inclus) à l’emplacement que vous avez indiqué.

Il est recommandé d’utiliser cette macro sur une copie ou une sauvegarde de votre classeur lors de vos premiers essais. En cas d’erreur — par exemple, si vous sélectionnez une plage incorrecte —, relancez-la en vérifiant que vos plages et la disposition de vos données sont bien conformes à ce qui est attendu.

Cette solution est idéale pour automatiser des tâches de reporting répétitives, créer des tableaux de bord ou mettre à jour rapidement des rapports des N premiers sans avoir recours à des formules manuelles ni à un tri. Vous pouvez également personnaliser davantage le script VBA afin d’implémenter une logique de classement plus complexe, comme un tri selon une colonne spécifiée ou l’exportation des résultats vers un autre classeur.

Dépannage : si la macro ne fonctionne pas comme prévu, vérifiez que votre tableau de données inclut des en-têtes appropriés, corrigez les types de données pour éviter tout problème de tri, et assurez-vous que les références de cellules sont bien sélectionnées à chaque invite. Sauvegardez toujours votre travail avant d’exécuter des macros afin d’éviter toute modification accidentelle de vos données.


En résumé, Excel propose plusieurs méthodes pour générer et maintenir une liste dynamique des N premiers : des formules classiques aux puissantes fonctions Office 365, en passant par les tableaux croisés dynamiques pour une analyse interactive, et les macros VBA pour une automatisation avancée. Choisissez celle qui correspond le mieux à votre flux de travail et à l’échelle de vos données. Les formules traditionnelles conviennent à la plupart des analyses manuelles, les fonctions Office 365 offrent simplicité et puissance maximales, les tableaux croisés dynamiques excellent dans les synthèses rapides et flexibles, tandis que VBA se révèle particulièrement efficace pour automatiser des tâches de classement volumineuses et répétitives. Veillez toujours à vérifier l’intégrité de vos formules ou de votre code, et adaptez les références de cellules afin de tenir compte de toute évolution de la structure de vos données.


Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels