Vous travaillez avec des valeurs entières (1 à 10) et voulez un histogramme où l’axe X affiche 1, 2, 3… au lieu d’intervalles (1, 2), (2, 3)… ? Voici des méthodes fiables pour obtenir des barres jointives avec des étiquettes simples.
Comment afficher des classes d’histogramme avec un seul nombre dans Excel ?
Par défaut, le graphique Histogramme d’Excel (ou l’outil « Analyse des données ▸ Histogramme ») calcule des intervalles et affiche deux bornes par classe. Ce comportement est utile pour des données continues, mais il reste inutilement verbeux lorsqu’on travaille sur des entiers avec une largeur de classe de 1. La solution consiste à construire un « histogramme maison » : on compte explicitement les occurrences de chaque entier, puis on trace un graphique en colonnes groupées avec un écartement des barres à 0 %. L’axe horizontal affiche alors naturellement 1, 2, 3…
Réponse et solutions
Limitation | Solutions proposées | Détails pratiques |
---|---|---|
Comportement natif : les histogrammes intégrés d’Excel affichent toujours les bornes inférieure et supérieure de chaque intervalle. Il n’existe pas d’option pour remplacer directement l’étiquette « (1, 2) » par « 1 ». | Construire un histogramme “maison” en utilisant un graphique en colonnes groupées. | Dans une colonne, listez les entiers 1 à 10 (centres de classes). Si vos données contiennent des décimales, créez une colonne d’aide : =ENT(A2) ou =ARRONDI(A2;0) selon que vous souhaitez « plancher » ou arrondir à l’entier le plus proche. Calculez la fréquence de chaque classe : =NB.SI(plage_données; cellule_classe) . Insérez un graphique en colonnes groupées (Insertion ▸ Graphiques ▸ Colonnes). Dans « Format des séries de données », mettez l’écartement à 0 % (ou proche) pour reproduire l’aspect d’un histogramme. Ajoutez des étiquettes de données si besoin ; l’axe X affichera directement 1, 2, 3, etc. |
Tableau croisé dynamique (TCD) pour automatiser le comptage. | Créez un TCD à partir de votre colonne de données. Placez la même colonne en « Étiquettes de lignes » et en « Valeurs » (paramétrées sur Nombre). Dans le TCD, clic droit sur une étiquette ▸ Grouper… ▸ Début = 1, Fin = 10, Pas = 1. Insérez un graphique de TCD en colonnes et réglez l’écartement des barres. | |
Formules dynamiques (Microsoft 365 / Excel 2021+) pour un flux 100 % automatique. | Exemple de table « classes / fréquences » générée par une seule formule : =LET(x;A2:A1000; min;MIN(x); max;MAX(x); classes;SÉQUENCE(1+max-min;1;min); freq;NB.SI(x;classes); CHOISIR({1,2};classes;freq)) Si votre Excel propose EMPILERH (HSTACK), vous pouvez remplacer CHOISIR({1,2};…) par EMPILERH(classes; freq) . |
Procédure détaillée — méthode universelle avec un graphique en colonnes
Préparer les classes
- Dans B2:B11, tapez les entiers 1 à 10. Ce seront les centres des classes et les étiquettes de l’axe X.
- Vos données brutes sont en A2:A…. Si elles comportent des décimales mais que vous souhaitez des classes entières, ajoutez en C2 :
=ENT(A2)
puis recopiez vers le bas. (Alternative pour un arrondi classique :=ARRONDI(A2;0)
.)
Compter les fréquences
- En C1, nommez l’entête Fréquence. En C2 :
=NB.SI($A$2:$A$1000; B2)
(ou la plage de vos données, ou la colonne d’aide si vous avez utiliséENT
). - Recopiez C2 jusqu’en C11. Vous obtenez une table à deux colonnes Classes (B) et Fréquence (C).
Tracer le graphique
- Sélectionnez B1:C11 ▸ Insertion ▸ Colonnes groupées.
- Clic droit sur une barre ▸ Mettre en forme une série de données ▸ Écartement : mettez 0 % pour obtenir des barres jointives façon histogramme.
- Clic droit sur l’axe horizontal ▸ Mettre en forme l’axe ▸ Type d’axe : Texte. Cela garantit des positions discrètes 1, 2, 3… sans interpolation.
- Ajoutez un titre, des étiquettes de données si souhaité, et supprimez la légende (inutile avec une seule série).
Rendre la solution « anti‑oubli » avec un tableau structuré
- Convertissez vos données A1:A… en Tableau (Ctrl+T sous Windows, ⌘+T sur Mac) et nommez‑le par exemple tDonnées.
- Utilisez des références structurées pour le comptage :
=NB.SI(tDonnées[Valeur]; B2)
. Vos totaux se mettront à jour automatiquement quand vous ajoutez des lignes.
Alternative avec un tableau croisé dynamique (TCD)
Le TCD est très pratique si vous préférez éviter les formules :
- Insertion ▸ Tableau croisé dynamique ▸ Source : votre liste (ou le tableau structuré tDonnées).
- Placez le champ Valeur à la fois en Étiquettes de lignes et en Valeurs (paramètre du champ en valeurs : Nombre).
- Clic droit sur une étiquette ▸ Grouper… : Début = 1, Fin = 10, Pas = 1. Les éléments affichés deviennent 1, 2, 3…
- Insérez un graphique de TCD ▸ Colonnes. Dans « Mettre en forme une série de données », réglez l’écartement à 0 %.
- Astuce : si certaines classes n’apparaissent pas (aucune donnée), dans Paramètres de champ, cochez Afficher les éléments sans données pour conserver la continuité de 1 à 10.
Méthode 100 % formules dynamiques (Microsoft 365 / Excel 2021+)
Pour générer automatiquement les classes et leurs fréquences :
- Supposons vos données en A2:A1000. Dans E2, saisissez :
=LET(x;A2:A1000; min;MIN(x); max;MAX(x); classes;SÉQUENCE(1+max-min;1;min); freq;NB.SI(x;classes); CHOISIR({1,2};classes;freq))
x
contient la plage de données.classes
génère la liste min…max par pas de 1.freq
compte les occurrences par classe.CHOISIR({1,2};…)
renvoie une table 2 colonnes « classes / fréquences » que vous pouvez sélectionner pour insérer un graphique en colonnes.- Si votre Excel propose EMPILERH (HSTACK), utilisez :
=LET(x;A2:A1000; min;MIN(x); max;MAX(x); classes;SÉQUENCE(1+max-min;1;min); freq;NB.SI(x;classes); EMPILERH(classes; freq))
À noter : si vos données sont garanties dans 1…10, vous pouvez remplacer la séquence par SÉQUENCE(10;1;1)
pour forcer l’affichage de toutes les classes, même avec fréquence 0.
Adapter la largeur de classe
Besoin de classes de taille k (par exemple 5) plutôt que 1 ? Créez une clé de regroupement puis comptez :
Objectif | Formule | Explication |
---|---|---|
Calculer la clé | =ENT(A2/k) | Assigne chaque valeur A2 à un groupe de largeur k en « planchant » la division. |
Étiqueter la classe | =clé*k & "–" & (clé*k + (k-1)) | Construit un libellé « 0–4 », « 5–9 », etc. (pour un rendu minimaliste, gardez le centre =clé*k + ARRONDI.INF(k/2;0) ). |
Compter | =NB.SI(plage_clés; clé_courante) | Comptez par clé, puis tracez votre graphique en colonnes avec écartement 0 %. |
Power Query pour un tableau prêt à l’emploi
- Accueil ▸ À partir de la table/plage (convertissez d’abord vos données en tableau structuré).
- Ajoutez une colonne personnalisée nommée Classe avec la formule de clé :
Number.IntegerDivide([Valeur], 1)
pour une largeur 1 (ou le k de votre choix). - Accueil ▸ Regrouper par ▸ Regrouper par Classe ▸ Opération : Nombre de lignes.
- Fermez & chargez. Vous obtenez un tableau « Classe / Nombre » ; insérez un graphique en colonnes, écartement 0 %. L’axe X affiche naturellement 1, 2, 3…
Astuces de mise en forme pour un rendu « histogramme »
- Écartement des barres : 0 % (ou 5–10 % si vous voulez respirer légèrement).
- Largeur des bordures : un fin contour améliore la lisibilité pour les classes adjacentes.
- Axe horizontal : Type d’axe = Texte; nombre de graduations principales = 1 pour afficher toutes les classes.
- Axe vertical : commencez à 0 ; fixez un pas majeur régulier (p. ex. 1, 2, 5) selon l’échelle de vos fréquences.
- Étiquettes de données : utiles si les barres sont fines ou si le public n’est pas à l’aise avec la lecture d’axes.
- Couleurs : une couleur unique renforce l’idée de distribution ; évitez les palettes multicolores qui suggèrent des séries multiples.
- Titre & légende : le titre doit répondre à « Distribution des scores (1–10) » ; supprimez la légende si une seule série.
Dépannage et questions fréquentes
- Pourquoi mes classes 1…10 n’apparaissent pas toutes ?
Assurez-vous d’avoir listé 1 à 10 dans la colonne des classes et de compter viaNB.SI
. Si vous ne listez que les valeurs présentes, les classes manquantes (fréquence 0) n’auront aucun libellé sur l’axe. - Le graphique en colonnes affiche des « trous » irréguliers.
Clic droit sur l’axe X ▸ Mettre en forme l’axe ▸ Type d’axe = Texte, pas Date ou Automatique. - Mes données sont décimales, mais je veux des classes entières.
Utilisez une colonne d’aide=ENT()
(plancher) ou=ARRONDI(;0)
(arrondi au plus proche). Si vous devez respecter une règle « .5 en haut », préférez=ARRONDI
. - Je veux une solution sans formule.
Le TCD est votre ami : Grouper par pas de 1, puis graphique en colonnes (écartement 0 %). - Je dois mettre à jour souvent.
Mettez les données en Tableau (Ctrl+T / ⌘+T) ; vosNB.SI
avec références structurées et votre graphique se mettront à jour automatiquement. Power Query est idéal si les données proviennent d’un fichier externe. - Je n’ai pas la fonction EMPILERH / HSTACK.
UtilisezCHOISIR({1,2}; classes; freq)
pour « assembler » deux vecteurs en un tableau 2 colonnes. Sinon, laissez simplement classes et fréquences dans deux colonnes adjacentes et sélectionnez-les avant d’insérer le graphique. - Compatibilité Excel 2016 et versions antérieures.
Pas de matrices dynamiques : créez manuellement B2:B11 (1 à 10) et C2:C11 (NB.SI
), puis insérez le graphique. Pour des plages qui s’allongent, vous pouvez créer des plages nommées dynamiques avecDECALER
+NBVAL
, mais un Tableau structuré reste plus simple.
Exemple concret pas à pas
Supposons la liste de notes en A2:A31. Objectif : un histogramme « 1, 2, 3… ».
- En B2:B11 : entrez 1, 2, 3 … 10.
- En C1 : Fréquence. En C2 :
=NB.SI($A$2:$A$31; B2)
puis recopiez jusqu’en C11. - Sélectionnez B1:C11 ▸ Insertion ▸ Colonnes groupées.
- Écartement des barres = 0 %. Type d’axe horizontal = Texte. Ajoutez un titre et, au besoin, des étiquettes de données.
Résultat : un graphique visuellement identique à un histogramme, mais avec des étiquettes minimalistes 1, 2, 3… et aucune mention de bornes d’intervalle.
Informations complémentaires utiles
- Autres largeurs de classe : pour des classes de taille k, calculez une clé
=ENT(valeur/k)
puis comptez chaque clé. Vous pouvez étiqueter chaque barre par son centre (=clé*k + ENT(k/2)
) pour rester au format « un nombre ». - Décimales : si vous tenez à conserver un vrai Histogramme (graphe natif) mais alléger l’axe, vous pouvez masquer l’axe horizontal (Format de l’axe ▸ Sans) et placer manuellement des zones de texte « 1 », « 2 », etc. C’est faisable pour peu de classes mais fastidieux.
- Power Query : la commande Regrouper par permet de générer en quelques clics la table « Classe / Nombre » sans formules, pratique sur de très gros volumes ou des fichiers reliés.
- Clarté statistique : le format « un nombre par barre » convient lorsque les valeurs sont intrinsèquement discrètes (ex. notes entières). Pour des mesures continues, préférez un histogramme d’intervalle avec mention des bornes.
Résumé opérationnel
Excel n’offre pas de bascule pour remplacer les libellés d’intervalles par un seul nombre dans un histogramme. La meilleure pratique, robuste et lisible, est de compter les occurrences de chaque entier et de tracer un graphique en colonnes groupées avec écartement 0 %. Selon vos préférences : formules manuelles (universelles), TCD (sans formules) ou matrices dynamiques (automatisation maximale). Dans tous les cas, l’axe X affichera 1, 2, 3… comme souhaité.
Bon à savoir : si vous livrez ce graphique à d’autres personnes, renommez clairement l’axe (p. ex. « Score ») et indiquez la règle d’agrégation (entier inférieur / arrondi au plus proche) dans une note de pied de graphique.