Qu'est-ce que la fonction LIGNE ?
LIGNE (ROW en anglais) te sert dès que tu en as assez de retaper une numérotation à la main à chaque ajout ou suppression de ligne, parce que ta formule doit rester collée à sa position plutôt qu'à un chiffre figé. Simple en apparence, elle devient le socle de toutes les formules qui doivent savoir où elles se trouvent dans la feuille pour s'adapter toutes seules.
Concrètement, c'est elle qui te permet de numéroter automatiquement tes listes de tâches sans jamais renuméroter à la main, de générer des références de vente au format "VTE-001" qui s'incrémentent toutes seules, de colorer une ligne sur deux dans un rapport financier avec la mise en forme conditionnelle, ou encore de créer des formules conditionnelles qui s'adaptent automatiquement à leur position dans la feuille.

Comprendre chaque paramètre de la fonction LIGNE
référence
: c'est la cellule ou la plage dont tu veux connaître le numéro de ligne(facultatif)Ça peut être une référence simple comme A5 (retourne 5), une plage comme B10:D15 (retourne 10, la première ligne de la plage), une référence nommée, ou totalement omis.
Si tu omets cet argument, LIGNE() retourne le numéro de la ligne où se trouve la formule elle-même. Si ta formule est en C7, =LIGNE() retournera 7. C'est cette version sans argument qui est la plus utilisée pour créer des numérotations automatiques et des formules dynamiques.
Quand tu passes une plage comme A5:A10, LIGNE retourne le numéro de la première ligne (5). Mais dans une formule matricielle, LIGNE(A5:A10) génère un tableau {5;6;7;8;9;10} avec tous les numéros de ligne de la plage. Dans Excel 365, ce tableau déborde automatiquement sur plusieurs cellules.

Exemples pratiques pas à pas
Comment numéroter automatiquement des lignes avec la fonction LIGNE
Ta liste de tâches bouge à chaque réunion : tu en insères, tu en supprimes, et les numéros que tu avais tapés à la main ne veulent plus rien dire dès le premier réajustement. Tu as le libellé de chaque tâche, son responsable, sa priorité et son statut, et tu veux une colonne de numéros qui démarre à 1 sur la première tâche et se tient toute seule. La fonction LIGNE lit la position de chaque ligne dans la feuille et te sort cette numérotation sans que tu tapes un seul chiffre.
- 1Dans une cellule, écris
=LIGNE(), parenthèses vides comprises. Appelée sans rien entre elles, la fonction LIGNE retourne le numéro de la ligne où la formule est posée, soit 2 enE2. - 2Complète par
-1pour compenser la ligne d'en-tête, qui occupe à elle seule la ligne 1 de la feuille, puis appuie sur Entrée. La première tâche affiche ainsi 1 au lieu de 2, et recopiée vers le bas la formule se réévalue à chaque ligne pour garder des numéros consécutifs.
=LIGNE()-1Comment numéroter les lignes d'un tableau structuré avec la fonction LIGNE
Ton suivi d'expéditions est un vrai tableau Excel (créé avec Ctrl+T) posé sous un bloc de titres, donc il ne démarre pas en haut de la feuille. Retirer une unité ne suffit plus : ta première expédition se retrouverait numérotée d'après sa ligne physique, et le décalage serait à recorriger à la main dès que le tableau descend d'un cran. Tu veux un numéro qui compte à partir du tableau, pas à partir de la feuille. La fonction LIGNE sait se caler sur la ligne d'en-tête du tableau et sortir cette position relative toute seule.
- 1Dans une cellule, écris
=LIGNE(), parenthèses vides comprises. Sans argument, elle donne la position de la ligne courante dans la feuille, quel que soit l'endroit où ton tableau commence. - 2Complète par
-LIGNE(Tableau1[#En-têtes]), puis appuie sur Entrée. Ce second appel de LIGNE reçoit la référence structurée de la ligne d'en-tête du tableau et en retourne le numéro, et la soustraction transforme la position dans la feuille en position dans le tableau. La première expédition affiche donc 1 enD2, et l'écart reste juste même si tu déplaces le tableau plus bas.
=LIGNE()-LIGNE(Tableau1[#En-têtes])Comment colorer une ligne sur deux avec les fonctions LIGNE et MOD
Ton compte de résultat mensuel part en réunion et personne n'arrive à suivre une ligne jusqu'au bout des colonnes sans se tromper de mois. Tu as les revenus, les dépenses et le résultat de chaque mois, et tu veux une ligne sur deux légèrement grisée pour que l'œil tienne la ligne. Plutôt que de peindre les lignes à la main et de tout refaire au mois suivant, tu passes par une règle de mise en forme conditionnelle (Accueil > Mise en forme conditionnelle > Nouvelle règle > Utiliser une formule) dans laquelle la fonction LIGNE repère la parité de chaque ligne.
- 1Dans une cellule, écris
=MOD(. - 2En 1er argument : écris
LIGNE(), l'appel qui renvoie le numéro de la ligne en cours d'évaluation par la règle. Il vaut 2 sur Janvier, 3 sur Février, et ainsi de suite jusqu'au bas de la plage sélectionnée. - 3En 2ᵉ argument : saisis
2, le nombre par lequel diviser ce numéro de ligne pour en tester la parité. La fonction MOD te rend alors le reste de cette division. - 4
=MOD(LIGNE(); 2)=0
Les erreurs fréquentes avec la fonction LIGNE
Le truc à garder en tête : LIGNE() te dit à quelle ligne physique de la feuille elle est posée, pas dans quel ordre tu voudrais qu'elle compte. C'est de là que viennent les ratés classiques : une numérotation qui démarre à 2 quand tu oublies l'offset d'en-tête, un =LIGNE($A$1) resté figé à 1 en recopie, un tableau Ctrl+T commençant en ligne 10 qui numérote à partir de 10, et un tri qui te ressort un vilain 1, 3, 2.
Oublier d'ajuster pour les lignes d'en-tête
Si tu utilises =LIGNE() directement en ligne 2 (première ligne de données après l'en-tête), ta numérotation commencera à 2 au lieu de 1. Beaucoup de débutants se trompent ici et se retrouvent avec une numérotation décalée selon leur structure.
Solution : Soustrais le nombre de lignes d'en-tête. Si tes données commencent en ligne 2, utilise =LIGNE()-1. Si elles commencent en ligne 3 (deux lignes d'en-tête), utilise =LIGNE()-2. Si tu as plusieurs lignes avant tes données, compte-les toutes et soustrais ce nombre.
Confusion entre LIGNE et LIGNES
LIGNE au singulier te donne le numéro d'une ligne (5 pour A5). LIGNES au pluriel compte combien de lignes il y a dans une plage (6 pour A5:A10, car il y a 6 lignes de la ligne 5 à la ligne 10). Les débutants mélangent souvent les deux et obtiennent des résultats inattendus.
Solution : Mémorise cette distinction simple : LIGNE = position (où ?), LIGNES = quantité (combien ?). Tu veux savoir à quelle ligne tu es ? LIGNE. Tu veux savoir combien de lignes contient une plage ? LIGNES.
Références absolues qui cassent l'auto-incrémentation
Si tu utilises =LIGNE($A$1) avec une référence absolue (symboles $) et que tu copies la formule vers le bas, tu obtiendras toujours 1. La référence ne s'ajuste pas lors de la copie, donc le résultat reste figé. Ta numérotation affiche alors 1, 1, 1, 1... au lieu de 1, 2, 3, 4...
Solution : Pour une numérotation automatique, n'utilise PAS de $ (références absolues). Écris =LIGNE(A1) sans symboles dollar pour que la référence s'ajuste, ou mieux encore, =LIGNE()-1 qui ne nécessite aucune référence de cellule et fonctionne toujours.
Problème avec les tableaux structurés (Ctrl+T)
Dans un tableau Excel structuré (créé avec Ctrl+T ou Insertion > Tableau), LIGNE() retourne toujours la ligne absolue de la feuille, pas la position relative dans le tableau. Si ton tableau commence en ligne 10, la première donnée sera numérotée 10 au lieu de 1.
Solution : Dans un tableau structuré, ajuste manuellement : =LIGNE()-9 si ton tableau commence en ligne 10. Ou utilise une approche plus robuste avec =LIGNE()-LIGNE(Tableau1[#En-têtes]) qui s'adapte automatiquement à la position du tableau.
Formules qui ne se mettent pas à jour après tri
Quand tu tries tes données, les formules LIGNE() ne se déplacent pas avec les lignes. Résultat : ta numérotation devient 1, 3, 2, 5, 4 au lieu de rester 1, 2, 3, 4, 5. C'est normal car LIGNE() reflète la position physique dans la feuille, pas un ordre logique.
Solution : Si tu dois trier souvent, convertis tes formules en valeurs (Copier > Collage spécial > Valeurs) avant de trier, puis recalcule-les après. Ou utilise une colonne d'ID fixe créée une fois pour toutes au lieu de formules LIGNE() dynamiques. Si tu veux une numérotation qui s'ajuste aux filtres et reste 1, 2, 3 après filtrage, préfère =SOUS.TOTAL(103;$A$2:A2) pour compter uniquement les lignes visibles.

LIGNE vs COLONNE vs LIGNES vs COLONNES
Pose-toi la question : tu veux savoir *où* tu es ou *combien* tu en as ? LIGNE te donne une position (5 sur A5), LIGNES te donne un décompte (6 sur A5:A10), et la même logique sépare COLONNE de COLONNES. Garde LIGNE pour numéroter ou bâtir une formule qui s'adapte à sa position : elle s'appelle sans argument pour pointer la ligne courante et déroule tout un tableau de numéros en matriciel, là où LIGNES et COLONNES exigent un argument et ne rendent qu'un seul nombre.
| Critère | LIGNE | COLONNE | LIGNES | COLONNES |
|---|---|---|---|---|
| Ce qu'elle retourne | Numéro de ligne (position) | Numéro de colonne (position) | Nombre de lignes (quantité) | Nombre de colonnes (quantité) |
| Exemple A5 | 5 | 1 (colonne A = 1) | 1 (une seule ligne) | 1 (une seule colonne) |
| Exemple A5:C10 | 5 (première ligne) | 1 (première colonne : A) | 6 (six lignes : 5 à 10) | 3 (trois colonnes : A à C) |
| Sans argument | ✅ Oui (ligne actuelle) | ✅ Oui (colonne actuelle) | ❌ Argument obligatoire | ❌ Argument obligatoire |
| Formule matricielle | ✅ Génère tableau de positions | ✅ Génère tableau de positions | ❌ Retourne un seul nombre | ❌ Retourne un seul nombre |
| Usage typique | Numérotation auto, formules dynamiques | Numérotation horizontale, INDEX | Compter lignes, dimensionner plages | Compter colonnes, dimensionner plages |

Astuces avancées avec LIGNE
Numérotation continue même après filtrage
=LIGNE()-1 numérote les lignes automatiquement, mais saute des numéros quand des lignes sont filtrées. Pour garder une séquence 1, 2, 3 sur les seules lignes visibles, utilise =SOUS.TOTAL(103;$A$2:A2) à la place. SOUS.TOTAL ignore les lignes masquées par un filtre.
La numérotation reste propre même après avoir filtré la moitié du tableau.
Lignes alternées colorées avec la mise en forme conditionnelle
Dans la mise en forme conditionnelle (Accueil > Nouvelle règle > Utiliser une formule), saisis =MOD(LIGNE();2)=0 pour colorer les lignes paires. Pour colorer les impaires, utilise =MOD(LIGNE();2)=1. Pour un motif une ligne sur trois, passe à =MOD(LIGNE();3)=0.
Le zébrage s'adapte automatiquement quand tu ajoutes ou supprimes des lignes.
Formules conditionnelles basées sur la position
=SI(LIGNE()<=10;"Budget prévisionnel";"Budget réalisé") change automatiquement de catégorie selon la ligne. Tu peux aussi afficher "Total" toutes les 3 lignes : =SI(MOD(LIGNE();3)=0;"Total";"Donnée").
Il suffit de copier la formule vers le bas : elle s'adapte à sa position sans aucune saisie manuelle.
Numérotation robuste sans référence de cellule
Préfère =LIGNE() sans argument plutôt que =LIGNE(A1). Les deux donnent le même résultat en tirant vers le bas, mais la version sans argument ne dépend d'aucune cellule : si tu coupes et colles la formule ailleurs, =LIGNE()-1 continue de fonctionner, là où =LIGNE(A1) peut se décaler.
Moins fragile, donc plus sûre dans les tableaux qu'on réorganise souvent.
Questions fréquentes
LIGNE retourne le numéro de ligne d'une référence (par exemple, 5 pour la cellule A5), tandis que LIGNES compte le nombre de lignes dans une plage. Si tu utilises =LIGNE(A5:A10), tu obtiens 5 (le numéro de la première ligne). Avec =LIGNES(A5:A10), tu obtiens 6 (car il y a 6 lignes dans cette plage).
La technique la plus simple est =LIGNE()-1 si tes données commencent en ligne 2, ou =LIGNE(A1) si tu veux une numérotation qui commence à 1. Quand tu copies la formule vers le bas, elle s'ajuste automatiquement : 1, 2, 3, 4... L'avantage ? Si tu insères ou supprimes des lignes, la numérotation se met à jour toute seule.
LIGNE() sans argument retourne le numéro de la ligne où se trouve la formule. C'est très pratique pour créer des formules dynamiques qui s'adaptent automatiquement quand tu les copies ailleurs. Pas besoin de modifier la formule manuellement. Par contre, LIGNE(A5) retournera toujours 5, peu importe où tu copies la formule.
Absolument ! Utilise la mise en forme conditionnelle avec =MOD(LIGNE();2)=0 pour les lignes paires ou =MOD(LIGNE();2)=1 pour les lignes impaires. Cette formule vérifie si le numéro de ligne est divisible par 2. Résultat : un beau tableau avec des lignes alternées qui améliore considérablement la lisibilité.
Oui, et c'est là qu'elle devient vraiment puissante ! Dans Excel 365, =LIGNE(A1:A10) génère un tableau dynamique {1;2;3;4;5;6;7;8;9;10} qui déborde automatiquement. Tu peux l'utiliser dans des calculs complexes comme =AUJOURDHUI()+LIGNE(1:7) pour créer les 7 prochains jours. Dans les versions antérieures, valide avec Ctrl+Maj+Entrée.
Pour aller plus loin
Continue sur ta lancée après la fonction LIGNE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



