Qu'est-ce que la fonction COLONNES ?
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.

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.

Exemples pratiques pas à pas
Comment compter le nombre de colonnes d'une plage avec la fonction COLONNES
L'export des ventes de la semaine vient d'arriver et ton traitement démarre juste après. Tu as sous les yeux un fichier brut, une ligne par commande, et tu veux savoir combien de colonnes il ramène avant de lancer quoi que ce soit : une colonne en trop ou en moins et tout ce qui suit se décale. La fonction COLONNES te donne cette largeur d'un seul coup, sans que tu comptes les en-têtes du doigt.
- 1Dans une cellule, écris
=COLONNES(. - 2En 1er argument : sélectionne la plage dont tu veux connaître la largeur,
A2:F19. Elle démarre en colonne A, sur les identifiants de commande, et s'arrête en colonne F, sur les prix. Le bloc doit rester d'un seul tenant, car la fonction ne sait pas mesurer deux plages séparées par un point-virgule. - 3Ferme la parenthèse et appuie sur Entrée.
=COLONNES(A2:F19)Comment rendre dynamique le numéro de colonne d'une fonction RECHERCHEV avec la fonction COLONNES
Un client t'appelle, te donne une référence et attend le produit, son prix et son stock dans la foulée. Ton catalogue tient dans un tableau à quatre colonnes, et tu veux poser une seule formule puis la recopier vers la droite pour sortir les trois informations. Le problème, c'est que le numéro de colonne d'une fonction RECHERCHEV reste figé quand tu recopies : la fonction COLONNES le fait grandir toute seule, cellule après cellule.
- 1Dans une cellule, écris
=RECHERCHEV(. - 2En 1er argument : écris la référence que le client vient de te donner,
"REF-003". Les guillemets sont indispensables pour qu'Excel traite ce code comme du texte et le cherche tel quel dans la première colonne du catalogue. - 3En 2ᵉ argument : sélectionne la plage où chercher, le catalogue entier
$A$2:$D$6. Les dollars la figent sur place, sinon elle glisserait d'une colonne à chaque recopie vers la droite et la recherche finirait en dehors du tableau. - 4En 3ᵉ argument : écris la fonction
COLONNES($A$1:B$1)et referme-la, à la place du2que tu écrirais d'habitude. Cette plage couvre deux colonnes, A et B, donc elle vaut2et la recherche rapporte le produit. Le$A$1de gauche est verrouillé sur les deux axes alors queB$1ne l'est que sur sa ligne, si bien que la borne de droite avance d'une colonne à chaque recopie. - 5En 4ᵉ argument : saisis
FAUXpour imposer une correspondance exacte sur la référence. Sans cette valeur, Excel bascule en recherche approximative et peut rapporter la ligne d'une tout autre référence sans le moindre avertissement. - 6Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers la droite. Le décompte passe à 3 puis à 4, et la même formule affiche le prix puis le stock de l'article.
=RECHERCHEV("REF-003"; $A$2:$D$6; COLONNES($A$1:B$1); FAUX)$A$1:B$1 et renvoie 2, que la fonction RECHERCHEV lit comme « rapporte-moi la 2e colonne du catalogue », soit le produit. Recopie la formule vers la droite : la borne B$1 devient C$1 puis D$1, le compteur passe à 3 puis à 4, et le prix puis le stock suivent sans que tu retouches rien. C'est le $A$1 verrouillé à gauche qui fait tenir tout le mécanisme.
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.

Les 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
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.
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).
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.
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
Continue sur ta lancée après la fonction COLONNES : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



