Sous-totaux Excel : afficher et utiliser la fonction SOUS.TOTAL

Quand tu travailles avec un gros tableau Excel, tu as souvent besoin de calculer des totaux par groupe, de sommer uniquement les lignes visibles après un filtre, ou d’afficher des sous-totaux par région, par produit, par commercial. Deux outils existent pour ça : la commande Données > Sous-totaux (qui insère des lignes de total automatiquement dans ton tableau) et la fonction SOUS.TOTAL (que tu écris toi-même dans une cellule). Ce ne sont pas la même chose, et dans cet article tu vas voir comment chacune fonctionne, quand les utiliser, et pourquoi elles surpassent une simple SOMME.

✅ Ce que tu sauras faire
  • Écrire la fonction SOUS.TOTAL avec le bon code de calcul
  • Calculer une somme, une moyenne ou un nombre de valeurs sur un tableau filtré
  • Comprendre la différence entre les codes 1-11 et 101-111
  • Insérer des sous-totaux automatiques via le menu Données
  • Choisir entre SOUS.TOTAL et AGREGAT selon ton besoin

La fonction SOUS.TOTAL : syntaxe et codes

Tableau croisé dynamique Excel avec champs Mois et Année en lignes, somme par mois en valeur
Le TCD agrège instantanément les données : somme de la distance du transport par mois

La syntaxe de SOUS.TOTAL est simple :

=SOUS.TOTAL(n_fonction; plage)

n_fonction est un entier qui indique le type de calcul à effectuer. plage est la plage de cellules sur laquelle tu veux l’appliquer. Exemples concrets :

=SOUS.TOTAL(9;C2:C200)   ' Somme des cellules visibles de C2 à C200
=SOUS.TOTAL(1;D2:D200)   ' Moyenne des cellules visibles
=SOUS.TOTAL(3;A2:A200)   ' Nombre de cellules non vides visibles

Voici le tableau complet des codes disponibles :

Code (filtre)Code (masquage manuel)Fonction
1101MOYENNE
2102NB
3103NBVAL
4104MAX
5105MIN
6106PRODUIT
7107ECARTYPE
8108ECARTYPEP
9109SOMME
10110VAR
11111VAR.P

Le code 9 (SOMME) est de loin le plus utilisé. Retiens aussi le 3 (NBVAL) pour compter des enregistrements et le 1 (MOYENNE) pour des indicateurs de performance.

La grande force de SOUS.TOTAL : ignorer les lignes filtrées

Voilà le point crucial. Si tu poses un filtre sur ton tableau et que tu calcules =SOMME(C2:C200), Excel additionne toutes les valeurs, visibles ou non. Résultat : ton total ne change pas quand tu filtres, ce qui ne sert à rien.

Avec =SOUS.TOTAL(9;C2:C200), le total se recalcule à chaque changement de filtre. Il ne tient compte que des lignes visibles à l’écran. C’est exactement ce dont tu as besoin pour un tableau de bord Excel interactif ou pour un reporting dynamique.

Deuxième avantage : si ta plage contient elle-même d’autres cellules SOUS.TOTAL (des lignes de sous-totaux intermédiaires par exemple), Excel les ignore automatiquement dans le calcul final. Aucun double comptage.

💡 Pourquoi SOMME ne suffit pas dans un tableau filtré
Suppose que tu as 500 lignes de ventes et que tu filtres sur la région Nord. SOMME t’affiche quand même le total des 500 lignes. SOUS.TOTAL n’affiche que le total des lignes Nord visibles. La différence est massive pour tout reporting par filtre.

Codes 1-11 vs 101-111 : filtres ou masquage manuel ?

Il existe en fait deux séries de codes pour chaque fonction :

  • Codes 1 à 11 : ignorent les lignes masquées par un filtre automatique, mais incluent les lignes masquées manuellement (clic droit sur un numéro de ligne, puis Masquer).
  • Codes 101 à 111 : ignorent à la fois les lignes filtrées ET les lignes masquées manuellement. Seules les cellules réellement visibles entrent dans le calcul.

Dans la pratique, tu utiliseras presque toujours les codes 1-11 si tu travailles avec des filtres automatiques. Les codes 101-111 sont utiles quand tu masques des lignes à la main pour présenter un tableau épuré et que tu veux que tes totaux s’adaptent.

=SOUS.TOTAL(9;C2:C200)    ' Somme filtrée uniquement
=SOUS.TOTAL(109;C2:C200)  ' Somme filtrée + lignes masquées manuellement exclues

La méthode Données > Sous-totaux : insertion automatique

Si tu veux insérer des lignes de sous-totaux directement dans ton tableau, sans écrire de formule toi-même, la commande Données > Sous-totaux fait le travail en quelques clics.

Étapes à suivre

  1. Trie d’abord ton tableau par la colonne de regroupement (ex. : Région). Ce tri est indispensable, sinon Excel créera un sous-total à chaque changement de valeur, même non consécutif.
  2. Clique sur une cellule du tableau, puis va dans Données > Plan > Sous-totaux.
  3. Dans la boîte de dialogue : choisis À chaque changement de (ta colonne de groupe, ex. Région), la Fonction (Somme, Moyenne, Nombre…) et les Colonnes à additionner.
  4. Clique sur OK. Excel insère automatiquement des lignes de sous-totaux et un grand total en bas, avec des boutons de niveau (1, 2, 3) sur la gauche pour afficher ou masquer les détails.

Les boutons 1 / 2 / 3 à gauche de la feuille permettent de naviguer entre les niveaux : 1 = grand total uniquement, 2 = sous-totaux par groupe, 3 = toutes les lignes. Pour supprimer les sous-totaux, retourne dans Données > Sous-totaux > Supprimer tout.

⚠️ Attention : cette commande ne fonctionne pas avec un tableau structuré
Si ton tableau a été converti en tableau Excel (Ctrl + L), la commande Données > Sous-totaux est grisée. Tu dois d’abord convertir le tableau en plage normale (clic droit sur le tableau > Tableau > Convertir en plage) avant de l’utiliser.

Cas pratiques

1. Total des ventes par région avec filtre

Tu as un tableau de ventes avec les colonnes Région, Commercial, Montant. Tu veux voir le total des ventes pour la région que tu sélectionnes dans le filtre.

=SOUS.TOTAL(9;C2:C500)

Pose cette formule dans une cellule en dehors du tableau (par exemple C1 ou une ligne de résumé au-dessus). Dès que tu changes le filtre sur la colonne Région, le total se met à jour.

2. Compter les clients visibles dans un tableau filtré

Tu filtes sur une catégorie de produit et tu veux savoir combien de clients distincts sont concernés. En supposant que chaque ligne correspond à un client :

=SOUS.TOTAL(3;A2:A500)

Le code 3 (NBVAL) compte les cellules non vides parmi les lignes visibles. Si tu veux compter uniquement des valeurs numériques, utilise le code 2 (NB).

3. Moyenne des scores sur un tableau filtré

Pour un tableau d’évaluations ou de performances, tu veux la moyenne uniquement sur les lignes affichées :

=SOUS.TOTAL(1;D2:D500)

La moyenne se recalcule automatiquement à chaque filtrage. Parfait pour un tableau de bord où le manager sélectionne l’équipe ou la période qui l’intéresse.

SOUS.TOTAL vs AGREGAT : quand passer à l’étape suivante ?

SOUS.TOTAL couvre les 11 fonctions classiques (SOMME, MOYENNE, MIN, MAX…). Mais depuis Excel 2010, la fonction AGREGAT est disponible et va plus loin.

AGREGAT propose 19 fonctions (dont PETITE.VALEUR, GRANDE.VALEUR, MEDIANE, PERCENTILE, MODE) et offre plusieurs options pour ignorer les erreurs, les lignes masquées, ou les deux à la fois. Sa syntaxe est légèrement différente :

=AGREGAT(n_fonction; options; plage)

Exemple : 2e plus grande valeur en ignorant les erreurs et les filtrées :
=AGREGAT(14; 5; C2:C500; 2)

Le deuxième argument options contrôle ce qu’on ignore :

  • 0 : rien d’ignoré (comme SOUS.TOTAL codes 1-11)
  • 5 : ignore les lignes masquées (filtres + manuel)
  • 6 : ignore les erreurs
  • 7 : ignore les erreurs ET les lignes masquées

Pour la majorité des usages courants (sommer ou compter sur un tableau filtré), SOUS.TOTAL est suffisante et plus simple à écrire. Passe à AGREGAT quand tu as besoin d’un rang, d’un percentile, ou que ta plage contient des erreurs que tu veux ignorer.

« Une SOMME classique ne voit pas les filtres. SOUS.TOTAL, si. C’est tout ce qui fait la différence dans un tableau de reporting. »
MASTERCLASS GRATUITE
Tu veux maîtriser Excel de A à Z, filtres et formules inclus ?
Rejoins la masterclass gratuite TutoSurExcel et découvre la méthode pour gagner du temps dès la semaine prochaine.
Réserver ma place gratuite →
Jean-Baptiste, formateur TutoSurExcel

Questions fréquentes sur SOUS.TOTAL

SOUS.TOTAL est-elle différente de SOMME ?
Oui. SOMME additionne toutes les cellules d’une plage, même celles masquées par un filtre. SOUS.TOTAL (avec le code 9) additionne uniquement les lignes visibles après filtrage, ce qui la rend bien plus utile dans un tableau dynamique.
Quel code utiliser pour compter des cellules non vides dans un tableau filtré ?
Utilise le code 3 : =SOUS.TOTAL(3;B2:B100). NBVAL (code 3) compte les cellules non vides parmi les lignes visibles. Si tu veux compter uniquement les nombres, utilise le code 2 (NB).
Pourquoi SOUS.TOTAL ignore-t-elle les autres SOUS.TOTAL de la plage ?
C’est un comportement volontaire : Excel détecte automatiquement les cellules contenant une formule SOUS.TOTAL dans la plage et les exclut du calcul. Tu évites ainsi les doubles comptages quand tu empiles des sous-totaux par groupe puis un grand total.
Quelle est la différence entre les codes 1-11 et les codes 101-111 ?
Les codes 1-11 ignorent uniquement les lignes masquées par un filtre automatique, mais incluent les lignes masquées manuellement (clic droit > Masquer). Les codes 101-111 ignorent à la fois les lignes filtrées ET les lignes masquées manuellement, pour un calcul encore plus strict sur les seules lignes visibles.
SOUS.TOTAL fonctionne-t-elle dans les tableaux structurés Excel ?
Oui, et c’est même là qu’elle brille. Quand tu actives les filtres d’un tableau structuré (Ctrl + L), SOUS.TOTAL se recalcule à chaque changement de filtre. La ligne Totaux d’un tableau structuré utilise d’ailleurs SOUS.TOTAL en coulisses.
Quand faut-il passer à AGREGAT plutôt que SOUS.TOTAL ?
Passe à AGREGAT quand tu as besoin d’une des 15 fonctions disponibles (dont PETITE.VALEUR, GRANDE.VALEUR, MODE, PERCENTILE), quand tu veux ignorer les erreurs dans la plage, ou quand tu veux combiner plusieurs critères d’exclusion (lignes masquées + erreurs). SOUS.TOTAL suffit pour 80 % des besoins courants.

Nos autres articles de blog

Comment faire un graphique dans Excel : guide complet

Tu ouvres un tableau de chiffres et tu veux le partager avec ton équipe. Tu...

KPI : c'est quoi et comment en créer dans Excel

KPI : tu as sûrement entendu ce mot en réunion, dans un rapport ou dans...

Convertir des minutes en heures dans Excel (et inversement)

Tu travailles sur un suivi de temps, un planning ou une feuille de paie, et...

Rejoignez plus de 30.000 personnes qui reçoivent mes astuces gratuitement chaque semaine

Formation très intéressante et dynamique. Bonnes explications et interactions avec le formateur. Pouvoir se repasser les vidéos pour s’exercer est une excellente opportunité. Merci a Jean Baptiste pour son professionnalisme.
Bury Emelyne
9 months ago