COLONNES (COLUMNS en anglais) est une fonction discrète mais redoutablement pratique : elle te dit combien de colonnes contient une plage. Un seul paramètre, un résultat entier. Et pourtant, c'est ce chiffre qui transforme tes formules figées en formules vivantes, capables de s'adapter automatiquement quand ton tableau grandit ou rétrécit.
Concrètement, tu t'en sers pour valider qu'un fichier CSV importé a bien le bon nombre de colonnes avant de lancer un traitement, pour diviser une somme par le nombre réel de périodes sans jamais modifier ta formule à la main, pour vérifier que tous les champs d'un formulaire d'inspection sont remplis, ou encore pour pointer automatiquement sur la dernière colonne d'un tableau projet avec INDEX. C'est la différence entre un fichier fragile et un outil professionnel qui encaisse les changements sans broncher.
Syntaxe de la fonction COLONNES
=COLONNES(matrice)Comprendre chaque paramètre de la fonction COLONNES
matrice
: c'est la référence de cellule ou la plage pour laquelle tu veux connaître le nombre de colonnesÇa peut être une cellule unique comme A1 (retourne 1), une plage comme A1:E10 (retourne 5), ou même un tableau structuré comme Tableau1.
Excel compte le nombre de colonnes dans la plage de gauche à droite. Pour B3:F8, Excel compte B, C, D, E, F, soit 5 colonnes, peu importe le nombre de lignes. La plage doit être continue : tu ne peux pas utiliser des plages séparées par des points-virgules.
Astuce : Pour compter les colonnes de colonnes entières, écris =COLONNES(A:C) qui retourne 3. Mais attention : =COLONNES(A:A) retourne 1, pas le nombre de lignes de cette colonne !
Pas envie d'écrire la formule COLONNES à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Data analyst : validation de la largeur d'un tableau importé
Tu es data analyst et tu reçois chaque semaine un fichier CSV de ventes. Avant de lancer ton traitement automatisé, tu dois vérifier que le fichier contient exactement 8 colonnes. Si ce n'est pas le cas, quelqu'un a modifié la structure et tu dois alerter ton équipe.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | ID | Date | Client | Produit | Quantité | Prix | Total | Statut |
| 2 | 1001 | 15/03/2025 | Entreprise ABC | Laptop | 5 | 899 € | 4 495 € | Livré |
| 3 | 1002 | 15/03/2025 | Société XYZ | Souris | 20 | 25 € | 500 € | En cours |
| 4 | Validation : | OK ✓ |
=SI(COLONNES(A1:H1)=8; "OK ✓"; "ERREUR : " & COLONNES(A1:H1) & " colonnes détectées")La formule compare le nombre réel de colonnes (8 ici) à la valeur attendue. Si ton fichier avait 7 ou 9 colonnes, elle afficherait « ERREUR : 7 colonnes détectées ». Combinée à une mise en forme conditionnelle, elle colore en rouge les fichiers invalides : la base d'un pipeline de données robuste.
Contrôleur de gestion : calcul dynamique pour formules adaptatives
Tu es contrôleur de gestion et tu dois calculer la moyenne de tous les trimestres de l'année. Le problème : ton fichier évolue. Parfois tu as 4 trimestres (année complète), parfois seulement 2 (début d'année). Tu veux une formule qui s'adapte automatiquement sans modification manuelle.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Vendeur | T1 | T2 | T3 | T4 | Moyenne |
| 2 | Marie | 25 000 € | 32 000 € | 28 000 € | 35 000 € | 30 000 € |
| 3 | Pierre | 18 000 € | 21 000 € | 24 000 € | 27 000 € | 22 500 € |
| 4 | Sophie | 31 000 € | 29 000 € | 33 000 € | 38 000 € | 32 750 € |
=SOMME(B2:E2)/COLONNES(B2:E2)La formule divise la somme des trimestres par le nombre réel de colonnes. Si tu supprimes la colonne T4 (trimestre non encore terminé), COLONNES renvoie 3 au lieu de 4 et la moyenne se recalcule correctement sur 3 trimestres, sans aucune retouche.
Responsable qualité : vérification de conformité des formulaires
Tu es responsable qualité et tu dois t'assurer que tous les formulaires d'inspection sont complets. Chaque formulaire doit avoir 12 champs remplis. Tu veux identifier automatiquement les formulaires incomplets pour demander les informations manquantes.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Formulaire | Champs remplis | Champs attendus | Statut |
| 2 | Inspection-001 | 12 | 12 | ✓ Complet |
| 3 | Inspection-002 | 10 | 12 | ⚠ Incomplet |
| 4 | Inspection-003 | 12 | 12 | ✓ Complet |
| 5 | Inspection-004 | 8 | 12 | ⚠ Incomplet |
=SI(NBVAL(B5:M5)=COLONNES(B5:M5); "✓ Complet"; "⚠ Incomplet")Ici, la formule compare le nombre de cellules non vides (via NBVAL) au nombre total de colonnes (via COLONNES). Quand les deux correspondent, le formulaire est complet ; sinon, il manque des données. COLONNES joue le rôle de référence dynamique : si tu ajoutes un champ demain, la validation se met à jour toute seule.
Chef de projet : récupérer le statut du dernier sprint
Tu es chef de projet et tu gères plusieurs projets avec un nombre variable de sprints. Certains projets ont 6 sprints, d'autres 10. Tu veux afficher automatiquement dans ton dashboard le statut du dernier sprint, quel que soit le nombre total de sprints du projet.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Projet | S1 | S2 | S3 | S4 | S5 | Dernier sprint |
| 2 | Alpha | OK | OK | Retard | OK | OK | OK |
| 3 | Beta | OK | Retard | OK | OK | ||
| 4 | Gamma | OK | OK | OK | OK | Retard | Retard |
=INDEX(B2:F2; 1; COLONNES(B2:F2))La formule emboîte deux fonctions : COLONNES renvoie 5 (colonnes S1 à S5), puis INDEX récupère la 5e valeur de la plage, soit la dernière. Si tu ajoutes S6, COLONNES renvoie 6 et INDEX pointe automatiquement sur la nouvelle dernière colonne, sans intervention de ta part.
Astuces avancées avec COLONNES
Génère des séquences automatiques avec SEQUENCE
Utilise =SEQUENCE(1; COLONNES(A1:F1)) pour produire automatiquement la série [1; 2; 3; 4; 5; 6] sans rien saisir à la main. C'est particulièrement utile dans les formules matricielles où tu dois traiter chaque colonne une par une (Excel 365).
Le nombre de termes s'adapte seul si ta plage grandit.
Rends tes messages de dashboard dynamiques
Au lieu d'écrire « Analyse sur 12 mois » en dur, utilise ="Analyse sur " & COLONNES(B2:M2) & " mois". Si tu ajoutes ou supprimes une colonne de données, le texte se met à jour automatiquement.
Tes rapports affichent toujours le bon nombre sans intervention manuelle.
Calcule la taille totale d'un tableau en cellules
Pour connaître le nombre total de cellules dans une plage, multiplie LIGNES par COLONNES : =LIGNES(A1:D10)*COLONNES(A1:D10) retourne 40. Utile pour valider l'import de données ou estimer la charge de traitement dans une macro.
Combine les deux fonctions et tu obtiens une mesure complète de la plage en une ligne.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction COLONNES
Les soucis avec COLONNES tournent presque toujours autour d'une confusion de forme ou de sens. Le #VALEUR! tombe quand tu lui passes deux plages séparées (A1:C1; E1:G1) alors qu'elle ne sait lire qu'un bloc continu.
Les deux autres pièges sont sémantiques : on la mélange avec COLONNE (sans S, qui donne un numéro de position, pas un décompte), et on croit que =COLONNES(A:C) va compter les lignes d'une colonne entière alors qu'elle compte toujours de gauche à droite.
#VALEUR! avec des plages non continues
Si tu essaies =COLONNES(A1:C1; E1:G1) pour compter deux plages séparées, Excel retourne #VALEUR!. COLONNES ne peut traiter qu'une seule plage continue à la fois.
Solution : Additionne plusieurs appels à COLONNES : =COLONNES(A1:C1)+COLONNES(E1:G1) retournera 6 (3 colonnes + 3 colonnes). Traite chaque plage séparément, puis combine les résultats.
Confusion entre COLONNES et COLONNE
Beaucoup de personnes confondent COLONNES (avec S) et COLONNE (sans S). =COLONNE(C1) retourne 3 (C est la 3e colonne de la feuille), tandis que =COLONNES(C1) retourne 1 (une seule colonne dans la plage).
Solution : Retiens : COLONNES répond à « combien de colonnes ? », COLONNE répond à « quelle est la colonne ? ». Utilise COLONNE pour savoir dans quelle colonne tu es, et COLONNES pour compter les colonnes d'une plage.
Résultat inattendu avec des colonnes entières
Si tu utilises =COLONNES(A:C), tu obtiens 3 (trois colonnes : A, B, C). Certains utilisateurs s'attendent à obtenir 1 048 576 (le nombre de lignes dans chaque colonne Excel). C'est incorrect car COLONNES compte horizontalement, pas verticalement.
Solution : Pour compter les lignes dans des colonnes entières, utilise LIGNES : =LIGNES(A:C) retournera 1 048 576. Rappelle-toi que COLONNES compte toujours de gauche à droite, jamais de haut en bas.
COLONNES vs COLONNE vs LIGNES
Prends COLONNES quand tu veux savoir combien de colonnes large est une plage, typiquement pour rendre une formule dynamique (SOMME/COLONNES pour une moyenne, ou INDEX qui pointe sur la dernière colonne). Bascule sur COLONNE (sans S) quand tu cherches plutôt la position d'une cellule dans la feuille, par exemple pour générer un numéro dans une formule matricielle.
LIGNES est sa jumelle verticale : même logique, mais pour la hauteur. Et garde en tête que seule COLONNE accepte une plage non continue, COLONNES et LIGNES renvoient une erreur dans ce cas.
| Critère | COLONNES | COLONNE | LIGNES |
|---|---|---|---|
| Ce qu'elle retourne | Nombre de colonnes dans une plage | Numéro de colonne d'une cellule | Nombre de lignes dans une plage |
| Exemple | =COLONNES(A1:E1) → 5 | =COLONNE(E1) → 5 | =LIGNES(A1:E1) → 1 |
| Compte | Largeur d'une plage | Position d'une cellule | Hauteur d'une plage |
| Usage principal | Formules dynamiques | Référencement matriciel | Comptage de lignes |
| Plages non continues | ❌ Non (erreur) | ✅ Oui (1re cellule) | ❌ Non (erreur) |
Questions fréquentes sur la fonction COLONNES
Quelle est la différence entre COLONNES et COLONNE ?
COLONNES (avec un S) compte le nombre total de colonnes dans une plage (ex : =COLONNES(A1:E1) retourne 5). COLONNE (sans S) te donne le numéro de colonne d'une cellule spécifique (ex : =COLONNE(C1) retourne 3 car C est la 3e colonne). Retiens : COLONNES = combien, COLONNE = laquelle.
COLONNES fonctionne-t-elle avec des plages non continues ?
Non, COLONNES ne fonctionne qu'avec des plages continues. Si tu utilises une plage comme A1:C1;E1:G1 (deux plages séparées), Excel retournera une erreur #VALEUR!. Si tu as besoin de compter des colonnes non adjacentes, additionne plusieurs COLONNES : =COLONNES(A1:C1)+COLONNES(E1:G1).
Comment calculer le nombre total de cellules dans un tableau ?
Multiplie LIGNES par COLONNES : =LIGNES(A1:D10)*COLONNES(A1:D10) te donnera 40 cellules (10 lignes × 4 colonnes). C'est très utile pour valider l'import de données ou calculer la taille mémoire d'un tableau dans des macros VBA.
COLONNES fonctionne-t-elle avec des tableaux structurés ?
Oui ! Tu peux écrire =COLONNES(Tableau1) pour obtenir le nombre de colonnes d'un tableau structuré. C'est très puissant pour créer des formules qui s'adaptent automatiquement quand tu ajoutes ou supprimes des colonnes dans ton tableau.
Pourquoi utiliser COLONNES au lieu de compter manuellement ?
COLONNES rend tes formules dynamiques et résistantes aux changements. Si tu codes en dur « 5 colonnes » et que ton tableau évolue, tout casse. Avec COLONNES, tes calculs s'adaptent automatiquement. C'est la différence entre un fichier fragile et un fichier professionnel évolutif.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

