Aller au contenu principal

Qu'est-ce que la fonction LIGNE ?

Définition
La fonction LIGNE retourne le numéro de ligne d'une référence de cellule ou de plage. Sans argument, elle retourne le numéro de la ligne où se trouve la formule elle-même.

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.

Syntaxe

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 LIGNE

1

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.

Le conseil du pro
Pour numéroter tes lignes, écris =LIGNE()-1 (si tes données commencent en ligne 2) plutôt que de taper 1, 2, 3 à la main. Quand tu insères ou supprimes une ligne, toute la numérotation se réajuste toute seule.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans 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 en E2.
  2. 2
    Complète par -1 pour 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.
Au final, ta formule devrait ressembler à ça :=LIGNE()-1
Explication
La fonction lit la position physique de la ligne où elle est posée, soit 2 pour la première tâche, et le retrait d'une unité compense la ligne d'en-tête pour que la numérotation reparte de 1. Recopiée vers le bas, la formule se réévalue à chaque ligne, donc les numéros restent consécutifs même après une insertion ou une suppression de tâche.
Exemple 2

Comment 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.

Les étapes
  1. 1
    Dans 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.
  2. 2
    Complè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 en D2, et l'écart reste juste même si tu déplaces le tableau plus bas.
Voici la formule que tu obtiens à la fin :=LIGNE()-LIGNE(Tableau1[#En-têtes])
Explication
La formule mesure un écart au lieu d'une position absolue : la ligne courante moins la ligne d'en-tête du tableau. La première expédition tombe donc à 1, et le calcul reste juste même si le tableau démarre plus bas dans la feuille (son en-tête descend avec lui, donc l'écart ne bouge pas).
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =MOD(.
  2. 2
    En 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.
  3. 3
    En 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. 4
    Ferme la parenthèse, complète par =0, puis appuie sur Entrée. Ce test transforme le reste en VRAI ou FAUX, le verdict logique qu'attend une règle de mise en forme conditionnelle, et le fond coloré ne s'applique qu'aux lignes qui renvoient VRAI.
Une fois les morceaux assemblés, ta formule donne ça :=MOD(LIGNE(); 2)=0
Explication
Le reste de la division du numéro de ligne par 2 ne peut valoir que 0 ou 1, et il alterne donc à chaque ligne. La règle est vraie sur Janvier (ligne 2), fausse sur Février, vraie sur Mars, et le zébrage suit tout seul quand tu ajoutes un mois au tableau.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreLIGNECOLONNELIGNESCOLONNES
Ce qu'elle retourneNuméro de ligne (position)Numéro de colonne (position)Nombre de lignes (quantité)Nombre de colonnes (quantité)
Exemple A551 (colonne A = 1)1 (une seule ligne)1 (une seule colonne)
Exemple A5:C105 (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 typiqueNumérotation auto, formules dynamiquesNumérotation horizontale, INDEXCompter lignes, dimensionner plagesCompter colonnes, dimensionner plages
Le savais-tu ?
Dans Excel 365, =LIGNE(A1:A10) génère le tableau {1;2;3;...;10} qui déborde tout seul sur dix cellules. Combinée à une date, =AUJOURDHUI()+LIGNE(1:7) affiche d'un coup les 7 prochains jours.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec LIGNE

1Astuce

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.

2Astuce

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.

3Astuce

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.

4Astuce

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.

FAQ

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).

Ressources

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