Aller au contenu principal

Qu'est-ce que la fonction COLONNES ?

Définition
La fonction COLONNES retourne le nombre de colonnes contenues dans une plage ou une référence. Elle accepte une seule plage continue et renvoie un entier représentant sa largeur.

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

=COLONNES(matrice)

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction COLONNES

1

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.

L’erreur fatale
=COLONNES(A:A) renvoie 1, pas le nombre de lignes de la colonne : COLONNES compte toujours de gauche à droite, jamais de haut en bas. Pour compter des lignes, c'est LIGNES qu'il te faut.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =COLONNES(.
  2. 2
    En 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.
  3. 3
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=COLONNES(A2:F19)
Explication
La fonction COLONNES parcourt la plage de gauche à droite, compte A, B, C, D, E, F et s'arrête : 6 colonnes. Le nombre de lignes ne la concerne jamais (c'est le rôle de la fonction LIGNES), si bien qu'une plage d'une seule ligne ou de mille lignes donne exactement le même 6.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =RECHERCHEV(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 3ᵉ argument : écris la fonction COLONNES($A$1:B$1) et referme-la, à la place du 2 que tu écrirais d'habitude. Cette plage couvre deux colonnes, A et B, donc elle vaut 2 et la recherche rapporte le produit. Le $A$1 de gauche est verrouillé sur les deux axes alors que B$1 ne l'est que sur sa ligne, si bien que la borne de droite avance d'une colonne à chaque recopie.
  5. 5
    En 4ᵉ argument : saisis FAUX pour 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.
  6. 6
    Ferme 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.
Voici la formule que tu obtiens à la fin :=RECHERCHEV("REF-003"; $A$2:$D$6; COLONNES($A$1:B$1); FAUX)
Explication
Ici, la fonction COLONNES compte les colonnes de $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.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec COLONNES

1Astuce

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.

2Astuce

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.

3Astuce

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.

Le combo gagnant
Divise une somme par COLONNES pour une moyenne qui s'ajuste toute seule : =SOMME(B2:E2)/COLONNES(B2:E2). Supprime la colonne d'un trimestre non terminé et le calcul repasse sur le bon nombre de périodes, sans aucune retouche.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreCOLONNESCOLONNELIGNES
Ce qu'elle retourneNombre de colonnes dans une plageNuméro de colonne d'une celluleNombre de lignes dans une plage
Exemple=COLONNES(A1:E1) → 5=COLONNE(E1) → 5=LIGNES(A1:E1) → 1
CompteLargeur d'une plagePosition d'une celluleHauteur d'une plage
Usage principalFormules dynamiquesRéférencement matricielComptage de lignes
Plages non continues❌ Non (erreur)✅ Oui (1re cellule)❌ Non (erreur)
FAQ

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.

Ressources

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