Supprimer les lignes vides d’un tableau Excel
Retire les lignes vides de ton tableau avec Atteindre, un filtre, un tri ou Power Query, sans perdre une ligne à moitié remplie, ou d’un clic avec notre macro gratuite.
Le ruban d’Excel n’a aucun bouton qui supprime les lignes vides, si bien qu’il faut d’abord les sélectionner. La fenêtre Atteindre ou un filtre les sélectionnent toutes d’un coup, et Power Query en débarrasse une copie à chaque actualisation. Pour ne plus y penser, notre macro VBA nettoie la feuille elle-même d’un clic et garde les lignes à moitié remplies.
Comment supprimer toutes les lignes vides d’un coup dans Excel
Pour supprimer toutes les lignes vides d’un coup, sélectionne leurs cellules vides avec la fenêtre Atteindre, puis retire en une fois les lignes qui les portent. C’est la méthode la plus rapide, puisqu’elle ne demande ni formule ni colonne à ajouter au tableau. Atteindre prend pourtant chaque cellule vide de ta sélection, et tout se joue donc dans ce que tu sélectionnes avant de l’ouvrir.
Toute la page suit un même exemple, l’onglet Export, où un tableau de clients en A1:C8 est coupé en morceaux par trois lignes entièrement vides, la 3, la 6 et la 7. La ligne 5 est celle qui pose problème, puisque Moreau y a un nom et un montant mais pas de ville. C’est elle qu’une méthode mal choisie emporte avec les lignes vides.
L’onglet Export, avant toute suppression
| A | B | C | |
|---|---|---|---|
| 1 | Client | Ville | Montant |
| 2 | Dupont | Lyon | 120 |
| 3 | |||
| 4 | Martin | Nantes | 80 |
| 5 | Moreau | 45 | |
| 6 | |||
| 7 | |||
| 8 | Petit | Lille | 60 |
Sélectionner les cellules vides d’une colonne avec Atteindre
Pour sélectionner les cellules vides sans risque, ouvre Atteindre sur une colonne remplie à chaque ligne du tableau, comme la colonne Client. Les seules cellules vides de cette colonne sont alors celles des lignes vides, si bien qu’Atteindre n’y prend que A3, A6 et A7. La suppression qui suit ne touchera donc à aucune ligne remplie.
- 01
Sélectionne A1:A8, la colonne Client, en cliquant sur A1 puis sur A8 avec la touche Maj enfoncée.
- 02
Appuie sur F5 ou sur Ctrl+T pour ouvrir la fenêtre Atteindre, puis clique sur son bouton Cellules…

La fenêtre Atteindre, dont le bouton Cellules… ouvre la sélection par type de cellule. - 03
Dans la fenêtre Sélectionner les cellules, coche Cellules vides, puis valide par OK. Les cellules A3, A6 et A7 sont alors sélectionnées.

La fenêtre Sélectionner les cellules, ouverte ici sur Notes. Cellules vides se trouve dans la colonne de gauche, sous les quatre cases de Formules.
Si tu préfères la souris au clavier, le menu Rechercher et sélectionner, dans le groupe Édition de l’onglet Accueil, ouvre les mêmes fenêtres. Sa commande Atteindre mène à la première, et sa commande Sélectionner les cellules t’emmène directement à la seconde.
Enlever les lignes entières avec le raccourci Ctrl+moins
Une fois les cellules vides sélectionnées, Ctrl+moins ouvre la fenêtre Supprimer, qui te demande ce qu’il faut faire de ces cellules. C’est son option Ligne entière qui enlève leurs lignes, même quand elles forment plusieurs blocs séparés, comme ici A3 d’un côté et A6:A7 de l’autre.
- 01
Sans cliquer ailleurs, appuie sur Ctrl et sur la touche moins, ou fais un clic droit sur une des cellules sélectionnées et choisis Supprimer.
- 02
Dans la fenêtre Supprimer, choisis Ligne entière, puis valide par OK.
Les lignes 3, 6 et 7 disparaissent, et le tableau tient désormais en A1:C5, avec Dupont, Martin, Moreau et Petit dans leur ordre d’origine. Méfie-toi en revanche de l’option Décaler les cellules vers le haut, juste au-dessus de Ligne entière, qui ne retire que les cellules sélectionnées et laisse le reste de leur ligne en place. Sur la seule colonne Client, elle remonte les noms sans leurs villes ni leurs montants. Martin se retrouve alors en ligne 3 face à une ville vide, et Moreau en face de Nantes.
Pourquoi une ligne à moitié remplie part avec les lignes vides
Une ligne à moitié remplie part avec les lignes vides dès que tu ouvres Atteindre sur tout le tableau, parce que Cellules vides prend alors chaque cellule vide de la sélection. Sur A1:C8, l’option prend donc aussi B5, la ville qui manque à Moreau, et Ligne entière supprime sa ligne avec les trois autres. Le tableau perd ainsi un client et son montant de 45, sans le moindre message pour te prévenir.
Le piège est le même quand tu n’as sélectionné qu’une cellule, puisque la fenêtre cherche alors les cellules vides dans toute la zone utilisée de la feuille. Pour l’éviter, ouvre Atteindre sur une seule colonne, celle qui est remplie à chaque ligne du tableau. Et si aucune colonne n’est remplie partout, la colonne d’aide NBVAL décrite plus bas compte les cellules remplies de chaque ligne. Notre macro fait le même test sans rien ajouter au tableau.
Les formules demandent une dernière précaution, car une cellule qui en contient une n’est jamais vide pour Atteindre, même quand elle affiche un vide. Ouvert sur la seule colonne Client, Atteindre laisse donc en place une ligne dont la cellule Client porte une telle formule. Sur tout le tableau, en revanche, il prend les autres cellules vides de cette ligne, et Ligne entière l’emporte quand même.
Supprimer les lignes vides avec un filtre
Avec un filtre, tu supprimes les lignes vides en deux temps, en ne gardant d’abord à l’écran que les lignes vides d’une ou de plusieurs colonnes, puis en les retirant d’un bloc. Les autres lignes, masquées pendant ce temps, reviennent intactes dès que tu retires le filtre. Contrairement à la fenêtre Atteindre, tu vois ainsi les lignes qui vont partir avant de les supprimer. C’est donc la méthode à choisir quand tu tiens à vérifier chaque ligne avant qu’elle ne disparaisse.
Afficher les seules lignes vides avec la case (Vides)
Pour n’afficher que les lignes vides, coche la case (Vides) dans le menu du filtre, qui ne laisse alors visibles que les lignes où la colonne est vide. Cochée sur les trois colonnes à la suite, elle ne montre plus que les lignes entièrement vides. Une suppression faite sur ces lignes visibles laisse alors les lignes masquées en place.
- 01
Sélectionne tout le tableau, A1:C8, puis clique sur le bouton Filtrer de l’onglet Données (Ctrl+Maj+L). Posé depuis une seule cellule, le filtre s’arrêterait à la première ligne vide et ne couvrirait que A1:C2.
- 02
Ouvre la flèche de l’en-tête Client, décoche (Sélectionner tout), coche (Vides), puis valide par OK. Refais ce geste sur Ville puis sur Montant.
- 03
Sélectionne les lignes 3 à 7 par leurs numéros, à gauche de la feuille, puis choisis Supprimer des lignes dans la feuille dans le menu Supprimer de l’onglet Accueil.
- 04
Clique de nouveau sur Filtrer, dans l’onglet Données, pour retirer le filtre et revoir tout le tableau.
Seules les lignes 3, 6 et 7 partent, puisque les lignes 4 et 5, masquées par le filtre, restent en place. Le choix des colonnes compte pourtant autant qu’avec Atteindre, car si tu ne filtres que la colonne Ville, (Vides) montre aussi la ligne de Moreau, qui partirait avec les lignes vides. À l’inverse, sur une colonne remplie à chaque ligne comme Client, une seule case (Vides) suffit.
Trouver les lignes vides d’un grand tableau avec NBVAL
Une colonne d’aide avec NBVAL trouve les lignes vides d’un grand tableau en une seule formule, là où cocher (Vides) dans chacune de vingt colonnes deviendrait long. Elle compte en effet les cellules non vides d’une plage, si bien qu’elle vaut 0 sur une ligne entièrement vide, quel que soit le nombre de colonnes.
- 01
Écris Remplies en D1, pour donner un en-tête à la colonne d’aide.
- 02
Sélectionne D2:D8, tape la formule ci-dessous, puis valide par Ctrl+Entrée, qui l’écrit dans toute la sélection.
- 03
Filtre le tableau A1:D8 sur la valeur 0 de la colonne Remplies, puis supprime les lignes visibles comme à l’étape 3 du filtre.
- 04
Retire le filtre, puis efface la colonne D.
=NBVAL(A2:C2)De D2 à D8, elle renvoie 3, 0, 3, 2, 0, 0 et 3, et le filtre sur 0 ne garde que les lignes 3, 6 et 7.
Pour un tableau plus large, il suffit d’étendre la plage à toutes ses colonnes, par exemple =NBVAL(A2:T2). Garde seulement en tête que NBVAL compte comme remplie une cellule qui porte une formule, même quand elle affiche un vide, ou qui ne contient qu’une espace. Leur ligne reste donc en place quand tu filtres sur 0.
Envoyer les lignes vides en bas du tableau par un tri
Un tri envoie en bas du tableau toutes les lignes dont la colonne triée est vide, si bien que les lignes vides cessent de couper tes données sans qu’aucune soit supprimée. Trié sur Client, l’exemple donne Dupont, Martin, Moreau et Petit, puis les trois lignes vides, qui ne gênent plus rien sous le tableau.
- 01
Sélectionne tout le tableau, de A1 à C8, puisqu’un tri lancé depuis une seule cellule s’arrête lui aussi à la première ligne vide. La cellule active reste A1, dans la colonne Client.
- 02
Clique sur le bouton du tri croissant, de A à Z, dans le groupe Trier et filtrer de l’onglet Données. Excel reconnaît la ligne d’en-tête et la laisse en haut.
Le tri a pourtant deux défauts, qui le réservent aux tableaux dont l’ordre ne compte pas. D’abord, les lignes se rangent dans l’ordre alphabétique des clients, qui se trouve être ici celui du tableau, mais qui bouleverserait un tableau rangé par date. Ensuite, la colonne choisie décide de tout, puisqu’un tri sur Ville envoie aussi Moreau en bas, parmi les lignes vides, où une suppression des lignes du bas l’emporterait avec elles.
Copier le tableau sans ses lignes vides, en gardant l’original
Pour garder le tableau d’origine tel quel, la fonction FILTRE ou Power Query en font une copie sans les lignes vides, et cette copie suit ensuite les changements du tableau. Comme toutes deux ne retirent que les lignes entièrement vides, Moreau y garde sa place sans aucune précaution de ta part.
Écarter les lignes vides par une formule FILTRE
La fonction FILTRE, disponible dans Microsoft 365, Excel 2024 et Excel 2021, écarte les lignes vides en une seule formule. Elle renvoie les lignes d’une plage qui remplissent une condition, et cette condition additionne ici un test par colonne. Une ligne est donc gardée dès qu’une de ses cellules est remplie.
=FILTRE(A2:C8;(A2:A8<>"")+(B2:B8<>"")+(C2:C8<>""))Écrite en E1, elle renvoie les quatre clients, de Dupont à Petit, sur quatre lignes et trois colonnes.
Regarde pourtant la ligne de Moreau, où la ville manquante revient sous la forme d’un 0, parce que FILTRE renvoie 0 à la place d’une cellule vide. Pour garder la case vide, la variante ci-dessous remplace d’abord chaque vide par un texte vide avec SI, et renvoie les mêmes quatre lignes.
=FILTRE(SI(A2:C8="";"";A2:C8);(A2:A8<>"")+(B2:B8<>"")+(C2:C8<>""))La ville de Moreau reste vide, et son montant de 45 reste un nombre.
Supprimer les lignes vides d’un export avec Power Query
Power Query supprime les lignes vides d’un export que tu remplaces chaque semaine, puisqu’il refait le même nettoyage à chaque actualisation sans que tu reprennes les étapes. Sa commande Supprimer les lignes vides ne retire que les lignes dont toutes les colonnes sont vides, et le résultat arrive dans une nouvelle feuille, sans toucher au tableau d’origine.
- 01
Sélectionne A1:C8, puis appuie sur Ctrl+L. Dans la fenêtre Créer un tableau, vérifie que la plage va jusqu’à la ligne 8 et que la case « Mon tableau comporte des en-têtes » est cochée, puis valide par OK.
- 02
Dans le groupe Propriétés de l’onglet Création de tableau, remplace le nom proposé, Tableau1 par exemple, par Export.
- 03
Dans l’onglet Données, clique sur À partir d’un tableau/d’une plage, ou fais un clic droit dans le tableau et choisis Obtenir des données à partir d’un tableau ou d’une plage. L’éditeur Power Query s’ouvre sur le tableau.
- 04
Dans l’onglet Accueil de l’éditeur, ouvre le menu Supprimer des lignes du groupe Réduire les lignes, puis choisis Supprimer les lignes vides.
- 05
Ouvre la flèche de Fermer et charger et choisis Fermer et charger dans, puis Tableau et Nouvelle feuille de calcul. Le résultat arrive dans une nouvelle feuille.
La semaine suivante, tu colles le nouvel export dans le tableau, et le bouton Actualiser tout de l’onglet Données refait le nettoyage. Ces étapes décrivent Excel pour Microsoft 365, où le même nettoyage tient aussi dans la requête ci-dessous. Tu la colles dans l’Éditeur avancé d’une requête vide, pourvu que le tableau s’appelle Export, comme à l’étape 2.
letSource = Excel.CurrentWorkbook(){[Name="Export"]}[Content],#"Lignes vides supprimées" = Table.SelectRows(Source, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))in#"Lignes vides supprimées"
Quelle méthode choisir pour supprimer les lignes vides
| Méthode | Garde une ligne à moitié remplie | Tableau d’origine | Nouvelles lignes vides |
|---|---|---|---|
| Atteindre sur une colonne toujours remplie | Oui | Modifié | Geste à refaire |
| Atteindre sur tout le tableau | Non | Modifié | Geste à refaire |
| Filtre (Vides) sur chaque colonne, ou NBVAL | Oui | Modifié | Geste à refaire |
| Tri | Oui, mais l’ordre change | Modifié | Geste à refaire |
| FILTRE | Oui | Intact, copie à côté | Écartées à chaque calcul |
| Power Query | Oui | Intact, copie à part | Écartées à chaque actualisation |
| Macro de cette page | Oui | Modifié | En relançant la macro |
Le bon choix dépend surtout de deux choses, la fréquence du ménage et l’existence d’une colonne remplie à chaque ligne de ton tableau. Pour un nettoyage ponctuel, Atteindre sur la colonne Client suffit, et le filtre prend le relais quand aucune colonne n’est remplie à chaque ligne. Pour un export qui revient, Power Query garde le tableau d’origine et refait le travail d’un clic, alors que la macro nettoie la feuille elle-même, sans rien préparer.
Supprimer les lignes vides d’un clic avec une macro VBA
Notre macro Supprimer_lignes_vides supprime d’un clic les lignes vides de la feuille active. Elle fait sur chaque ligne le test de la colonne NBVAL, puis retire toutes celles qui ne contiennent rien. Tu n’as rien à sélectionner ni de colonne d’aide à ajouter, et une ligne à moitié remplie reste à sa place. C’est donc la méthode d’un ménage qui revient, sur un export reçu chaque semaine par exemple.
Ne supprimer que les lignes entièrement vides
La macro ne supprime que les lignes entièrement vides, si bien qu’une ville manquante ne suffit pas à faire partir une ligne. Sur l’onglet Export, elle retire les lignes 3, 6 et 7, mais garde celle de Moreau avec son montant de 45. Elle parcourt la feuille de sa première à sa dernière ligne remplie, soit huit lignes ici, puis annonce le nombre de lignes supprimées.
| A | B | C | |
|---|---|---|---|
| 1 | Client | Ville | Montant |
| 2 | Dupont | Lyon | 120 |
| 3 | Martin | Nantes | 80 |
| 4 | Moreau | 45 | |
| 5 | Petit | Lille | 60 |
| 6 | |||
| 7 | |||
| 8 |
Avant d’agir, elle ouvre un avertissement qui rappelle que Ctrl+Z ne ramènera pas les lignes, et tu peux encore annuler à ce moment-là. À la fin, un message donne le nombre de lignes supprimées, que la barre d’état affiche encore ensuite.
Elle marche aussi dans un tableau créé par Ctrl+L, qui se resserre alors sur les lignes restantes, puisqu’elle supprime chaque suite de lignes vides d’un seul bloc. Elle reste enfin rapide sur un vrai export, avec moins d’une seconde pour une feuille de 5 000 lignes, et moins de dix secondes pour une feuille de 50 000 lignes dont 10 000 vides.
Installer la macro qui supprime les lignes vides
Ouvre l’éditeur VBA avec Alt+F11 et colle le code dans un module neuf (menu Insertion, Module). Reviens ensuite à la feuille à nettoyer et lance Supprimer_lignes_vides avec Alt+F8.
Connaître les limites de la macro avant de la lancer
Ctrl+Z ne ramène pas les lignes supprimées, d’où l’avertissement du début. Fais une copie de la feuille avant de lancer la macro sur des données qui comptent.
Elle ne travaille que sur la feuille active, entre sa première et sa dernière ligne remplie. Les lignes vides au-dessus du tableau restent, mais une ligne laissée vide entre un titre et le tableau part avec les autres.
Une formule compte comme un contenu, même quand elle affiche un vide, tout comme une cellule qui ne contient qu’une espace, et leur ligne reste en place. Une ligne qui ne porte qu’une couleur de fond est vide pour elle, et part avec sa mise en forme.
Les lignes vides partent aussi quand elles sont masquées, à la main ou par un filtre, et le filtre reste posé.
Une ligne n’est vide que si elle l’est sur toute la largeur de la feuille. Une ligne vide dans ton export mais remplie dans un second tableau posé à côté reste donc en place.
Sur une feuille protégée, elle s’arrête sans rien supprimer, et un message donne l’erreur rencontrée, que la barre d’état garde ensuite.
Comment supprimer les lignes vides en fin de tableau
Les lignes vides en fin de tableau ne se suppriment jamais tout à fait, puisqu’une feuille Excel compte toujours 1 048 576 lignes et qu’Excel en remet autant à la fin de la feuille. Ce qui gêne, c’est plutôt Ctrl+Fin, qui t’emmène loin sous les données parce qu’une cellule a été mise en forme ou remplie un jour à cet endroit.
Dans ce cas, tu supprimes les lignes situées sous le tableau, et Ctrl+Fin mène de nouveau à la dernière cellule du tableau une fois le classeur enregistré. Si tu veux seulement que la feuille s’arrête à l’écran sous le tableau, il suffit de masquer ces lignes.
Retirer les lignes vides du bas, puis enregistrer le classeur
Retirer les lignes situées sous le tableau efface aussi les mises en forme qu’elles portaient, mais la suppression seule ne change pas la cellule où mène Ctrl+Fin. Prends un tableau qui s’arrête en ligne 8, avec une cellule jaune oubliée en A1000. Juste après la suppression, Ctrl+Fin mène encore à C1000, et il ne revient à la dernière cellule du tableau, C8, qu’une fois le classeur enregistré.
- 01
Clique sur le numéro de la ligne 9, la première sous le tableau.
- 02
Appuie sur Ctrl+Maj+Bas pour étendre la sélection jusqu’à la dernière ligne de la feuille.
- 03
Fais un clic droit sur un des numéros sélectionnés et choisis Supprimer.
- 04
Enregistre le classeur avec Ctrl+S, ce qui ramène Ctrl+Fin en C8.
Pour faire ce ménage sur toutes les feuilles d’un classeur à la fois, sans supprimer une seule ligne, la page qui explique comment réduire la taille d’un fichier Excel trop lourd donne une macro qui efface la mise en forme laissée sous les données de chaque feuille.
Masquer les lignes vides sous le tableau
Masquer les lignes vides sous le tableau fait s’arrêter la feuille à l’écran juste après tes données. Sélectionne ces lignes de la même façon, en cliquant sur le numéro de la ligne 9 avant d’appuyer sur Ctrl+Maj+Bas. Fais ensuite un clic droit sur un de leurs numéros et choisis Masquer. Les lignes restent dans la feuille, et la commande Afficher, dans le même menu, les fait revenir le jour où tu as besoin d’agrandir le tableau.
D’autres macros utiles
Tu as peut-être encore une question
Pour supprimer une ligne au clavier, sélectionne-la en entier avec Maj+Espace depuis une de ses cellules, puis appuie sur Ctrl et sur la touche moins, le raccourci qui supprime les lignes ou les colonnes sélectionnées, sans passer par le clic droit ni par l’onglet Accueil. Quand seules des cellules sont sélectionnées, Ctrl+moins ouvre la fenêtre Supprimer, où l’option Ligne entière fait le même travail.
Les lignes qui défilent à l’infini sous un tableau ne disparaissent jamais tout à fait, puisqu’une feuille Excel compte toujours 1 048 576 lignes, mais tu peux supprimer celles qui suivent tes données puis enregistrer le classeur, pour que Ctrl+Fin mène de nouveau à la dernière cellule du tableau, ou simplement les masquer. La section sur les lignes vides en fin de tableau détaille les deux gestes.
Le plus souvent, Excel refuse de supprimer des lignes parce que la feuille est protégée, et la suppression reste impossible tant que la protection n’est pas retirée depuis l’onglet Révision, avec son mot de passe s’il y en a un, même quand la case Supprimer les lignes a été cochée en la protégeant. Cette case ne vaut en effet que pour des lignes dont toutes les cellules sont déverrouillées.
Pour supprimer les lignes vides automatiquement, confie le nettoyage à Power Query, dont la commande Supprimer les lignes vides se rejoue à chaque clic sur Actualiser tout, ou à la fonction FILTRE, qui recopie les lignes remplies et se recalcule seule dans Microsoft 365, Excel 2024 et Excel 2021. Notre macro, elle, fait le ménage dans la feuille elle-même, à chaque fois que tu la lances.
Pour supprimer des cellules vides sans supprimer leur ligne, sélectionne-les avec Atteindre et Cellules vides, puis appuie sur Ctrl+moins et choisis Décaler les cellules vers le haut, qui remonte dans chaque colonne les cellules situées en dessous pour boucher les trous laissés par les cellules supprimées. Sur un tableau, ce geste désaligne les données, et fait sur tout le tableau de l’exemple de cette page, il donne à Moreau la ville de Petit.
Pour aller plus loin
Tout ce dont tu as besoin pour faire tourner tes macros et progresser sur Excel se trouve ici.

Télécharge notre cours Excel complet en PDF
Télécharger
Ton cours Excel gratuit
3 chapitres pour apprendre les bases et découvrir l'automatisation.
Voir le cours
Entraîne-toi sur nos 63 exercices corrigés
S’entraîner
Les macros Excel et le VBA expliqués simplement
Lire le guide
Activer les macros quand Excel les bloque
Voir comment