Comment supprimer une ligne sur deux Excel uniquement sur une sélection ?

Supprimer une ligne sur deux dans Excel sur une sélection précise est plus délicat que sur une feuille entière. La difficulté vient d’un détail technique souvent ignoré : supprimer des cellules dans une colonne isolée décale cette colonne indépendamment du reste du tableau, ce qui désynchronise immédiatement les enregistrements adjacents. Pour travailler proprement sur une zone délimitée, on doit donc choisir sa méthode avec soin.

Colonne d’aide et filtre : la méthode fiable pour une sélection Excel

C’est la méthode qui fonctionne le mieux quand on veut cibler une plage précise sans toucher au reste de la feuille. L’idée consiste à créer temporairement une colonne de marquage, à filtrer sur ce marqueur, puis à supprimer les lignes visibles.

Voici comment procéder étape par étape :

  • Dans une colonne vide adjacente à votre sélection (par exemple la colonne D si vos données vont de A à C), saisissez un libellé neutre sur la première ligne à conserver, puis « SUPPR » sur la première ligne à supprimer. Sélectionnez ces deux cellules ensemble et étendez la séquence vers le bas par poignée de recopie jusqu’à la dernière ligne de votre plage. Excel alterne automatiquement les deux valeurs.
  • Activez le filtre sur votre tableau (onglet Données > Filtrer), puis filtrez la colonne d’aide sur la valeur « SUPPR » uniquement. Seules les lignes à éliminer restent visibles.
  • Sélectionnez toutes les lignes filtrées, faites un clic droit et choisissez « Supprimer la ligne ». Utilisez « Supprimer la ligne » et non « Effacer le contenu » : effacer laisse des lignes vides, supprimer les retire définitivement.
  • Désactivez le filtre, puis supprimez la colonne d’aide. Votre plage est nettoyée, le reste de la feuille n’a pas bougé.

Ce protocole est stable parce qu’on supprime des lignes entières de la feuille, pas des plages de cellules avec décalage. La synchronisation entre colonnes reste intacte.

Supprimer une ligne sur deux dans un tableau structuré Excel

Si vos données sont dans un tableau structuré Excel (inséré via Insertion > Tableau), le comportement est différent d’une plage classique. Le tableau gère ses propres lignes de données, distinctes des lignes de la feuille.

La colonne d’aide fonctionne ici aussi, mais avec une nuance : le filtre appliqué à un tableau structuré peut bloquer certaines opérations de suppression programmées. En manipulation manuelle, ça ne pose pas de problème. On filtre, on sélectionne les lignes visibles, on supprime via le clic droit, et on retire le filtre ensuite.

En revanche, si vous travaillez avec des macros VBA sur un tableau structuré filtré, la commande de suppression de lignes peut renvoyer une erreur. Dans ce cas, la bonne pratique est de désactiver le filtre avant d’exécuter le code, de supprimer les lignes marquées, puis de réappliquer le filtre si nécessaire.

Homme en bureau open space analysant une sélection de lignes alternées dans un fichier Excel sur laptop

VBA pour automatiser la suppression sur une plage définie

Quand la plage est longue ou que l’opération doit se répéter régulièrement, une macro VBA évite de reproduire les étapes manuelles à chaque fois. L’approche la plus robuste consiste à parcourir la plage en remontant depuis la dernière ligne, ce qui évite les décalages d’index lors des suppressions.

Un exemple de structure fonctionnelle :

On définit la première et la dernière ligne de la sélection à traiter, puis on boucle en décrémentant (de la dernière à la première), en supprimant une ligne sur deux selon la parité de son numéro de ligne. Parcourir les lignes de bas en haut est nécessaire : si on part du haut, chaque suppression décale les lignes suivantes et fausse le comptage.

Ce type de macro se place dans l’éditeur VBA (Alt + F11 > Insérer > Module) et s’exécute via la fenêtre Macros ou un raccourci clavier assigné. Pour limiter la portée à une sélection précise, on peut remplacer la plage fixe par Selection : la macro traitera alors uniquement les lignes incluses dans la sélection active au moment de l’exécution.

Piège à éviter : supprimer des cellules au lieu de lignes dans une sélection partielle

C’est l’erreur la plus fréquente quand on travaille sur une plage qui ne couvre pas toutes les colonnes du tableau. Quand on sélectionne une plage partielle (par exemple B3:B20) et qu’on utilise « Supprimer » avec l’option « Décaler les cellules vers le haut », Excel ne supprime pas les lignes : il remonte uniquement le contenu de cette colonne.

Résultat : la colonne B se décale pendant que les colonnes A et C restent en place. Les données ne correspondent plus. Sur un tableau de gestion ou une liste d’entrées/sorties, ce désalignement peut passer inaperçu et corrompre silencieusement les analyses qui suivent.

La règle pratique est simple : si on veut retirer des lignes complètes, la sélection doit couvrir toutes les colonnes concernées, ou on passe par la suppression de lignes entières de la feuille (clic droit sur le numéro de ligne > Supprimer).

Cas particulier : sélection non contiguë

Excel permet de sélectionner des lignes non contiguës avec Ctrl + clic sur les numéros de ligne. Une fois plusieurs lignes sélectionnées, un clic droit > Supprimer les retire toutes en une fois. C’est pratique pour des suppressions ponctuelles sur une petite plage, mais peu adapté à plusieurs dizaines de lignes alternées : la colonne d’aide reste plus rapide et moins sujette aux erreurs.

Choisir la bonne méthode selon le contexte

La méthode colonne d’aide + filtre convient à la grande majorité des cas : elle est rapide, réversible jusqu’à la dernière étape, et ne nécessite aucune connaissance de VBA. Elle s’applique aussi bien à une plage classique qu’à un tableau structuré en manipulation manuelle.

La macro VBA prend le relais quand l’opération se répète, quand la plage dépasse plusieurs centaines de lignes, ou quand on veut parametrer précisément la ligne de départ (ne pas toujours commencer par la première ligne de la sélection, par exemple).

La suppression directe de cellules avec décalage ne devrait jamais être utilisée pour supprimer une ligne sur deux dans Excel si la sélection ne couvre pas l’intégralité des colonnes du tableau : le risque de désynchronisation est trop élevé pour des données qui doivent rester cohérentes ligne par ligne.