Table des matières
Ce court tutoriel explique comment supprimer une ligne sur deux dans Excel par filtrage ou avec du code VBA. Vous apprendrez également comment supprimer une 3e, 4e ou toute autre Nième ligne.
Il existe de nombreuses situations dans lesquelles vous pouvez avoir besoin de supprimer des lignes alternées dans des feuilles de calcul Excel. Par exemple, vous pouvez souhaiter conserver les données des semaines paires (lignes 2, 4, 6, 8, etc.) et déplacer toutes les semaines impaires (lignes 3, 5, 7, etc.) vers une autre feuille.
En général, la suppression d'une ligne sur deux dans Excel se résume à la sélection d'une ligne sur deux. Une fois les lignes sélectionnées, un simple trait sur le bouton Supprimer Plus loin dans cet article, vous apprendrez quelques techniques pour sélectionner et supprimer rapidement une ligne sur deux ou une ligne sur N dans Excel.
Comment supprimer une ligne sur deux dans Excel par filtrage ?
En substance, une façon courante d'effacer une ligne sur deux dans Excel est la suivante : vous filtrez d'abord les lignes alternées, puis vous les sélectionnez, et vous les supprimez toutes en même temps. Les étapes détaillées suivent ci-dessous :
- Vous pouvez le faire rapidement en tapant 0 dans la première cellule et 1 dans la deuxième, puis en copiant les deux premières cellules et en les collant le long de la colonne jusqu'à la dernière cellule contenant des données.
Vous pouvez également utiliser cette formule :
=MOD(ROW(),2)
La logique de la formule est très simple : la fonction ROW renvoie le numéro de ligne actuel, la fonction MOD le divise par 2 et renvoie le reste arrondi à l'entier.
En conséquence, vous avez 0 dans toutes les rangées paires (parce qu'elles sont divisées par 2 sans reste) et 1 dans toutes les rangées impaires :
- Selon que vous voulez supprimer des lignes paires ou impaires, filtrez les uns ou les zéros.
Pour ce faire, sélectionnez n'importe quelle cellule de votre colonne d'aide, allez dans la section Données tab> ; Trier et filtrer et cliquez sur le bouton Filtre Les flèches du filtre déroulant apparaissent dans toutes les cellules de l'en-tête. Vous cliquez sur le bouton de la flèche dans la colonne Aide et cochez l'une des cases :
- 0 pour supprimer les lignes paires
- 1 pour supprimer les rangs impairs
Dans cet exemple, nous allons supprimer les lignes avec des valeurs "0", donc nous les filtrons :
- Maintenant que toutes les lignes "1" sont cachées, sélectionnez toutes les lignes "0" visibles, faites un clic droit sur la sélection et cliquez sur Supprimer la rangée :
- L'étape ci-dessus vous a laissé un tableau vide, mais ne vous inquiétez pas, les lignes "1" sont toujours là. Pour les rendre visibles à nouveau, il suffit de supprimer le filtre automatique en cliquant sur le bouton Filtre de nouveau :
- La formule de la colonne C est recalculée pour les lignes restantes, mais vous n'en avez plus besoin. Vous pouvez maintenant supprimer la colonne Helper en toute sécurité :
En conséquence, il ne reste que les semaines paires dans notre feuille de calcul, les semaines impaires ont disparu !
Conseil : si vous souhaitez déplacer une ligne sur deux à un autre endroit plutôt que de les supprimer complètement, copiez d'abord les lignes filtrées et collez-les à un nouvel emplacement, puis supprimez les lignes filtrées.
Comment supprimer des lignes alternées dans Excel avec VBA
Si vous ne voulez pas perdre votre temps à effectuer une tâche triviale telle que la suppression d'une ligne sur deux dans vos feuilles de calcul Excel, la macro VBA suivante peut automatiser le processus pour vous :
Sub Delete_Alternate_Rows_Excel() Dim SourceRange As Range Set SourceRange = Application.Selection Set SourceRange = Application.InputBox( "Range :" , "Select the range" , SourceRange.Address, Type :=8) If SourceRange.Rows.Count>= 2 Then Dim FirstCell As Range Dim RowIndex As Integer Application.ScreenUpdating = False For RowIndex = SourceRange.Rows.Count - (SourceRange.Rows.Count Mod 2) To 1Step -2 Set FirstCell = SourceRange.Cells(RowIndex, 1) FirstCell.EntireRow.Delete Next Application.ScreenUpdating = True End If End SubComment supprimer une ligne sur deux dans Excel à l'aide de la macro
Insérez la macro dans votre feuille de calcul de la manière habituelle via l'éditeur Visual Basic :
- Appuyez sur Alt + F11 pour ouvrir la fenêtre Visual Basic for Applications.
- Dans la barre de menu supérieure, cliquez sur Insérer > ; Module et collez la macro ci-dessus dans le fichier Module
- Appuyez sur la touche F5 pour exécuter la macro.
- Une boîte de dialogue s'affiche et vous invite à sélectionner une plage. Sélectionnez votre tableau et cliquez sur OK :
Toutes les autres lignes de la plage sélectionnée sont supprimées :
Comment supprimer chaque Nième ligne dans Excel
Pour cette tâche, nous allons étendre la technique de filtrage que nous avons utilisée pour supprimer une ligne sur deux. La différence réside dans la formule sur laquelle le filtrage est basé :
MOD(ROW()- m , n )Où :
- m est le numéro de ligne de la première cellule contenant des données moins 1
- n est la Nième ligne que vous voulez supprimer
Supposons que vos données commencent à la ligne 2 et que vous souhaitez supprimer toutes les trois lignes, dans votre formule n est égal à 3, et m est égal à 1 (rang 2 moins 1) :
=MOD(ROW() - 1, 3)
Si nos données commencent à la ligne 3, alors m serait égal à 2 (rangée 3 moins 1), et ainsi de suite. Cette correction est nécessaire pour numéroter séquentiellement les rangées, en commençant par le numéro 1.
Dans notre cas, elle donne zéro pour chaque troisième ligne, car chaque troisième nombre est divisé par 3 sans reste (3, 6, 9, etc.) :
Et maintenant, vous effectuez les étapes déjà connues pour filtrer les lignes "0" :
- Sélectionnez n'importe quelle cellule de votre tableau et cliquez sur le bouton Filtre sur le bouton Données
- Filtrez la colonne Helper pour n'afficher que les valeurs "0".
- Sélectionnez toutes les lignes "0" visibles, faites un clic droit et choisissez Supprimer la rangée dans le menu contextuel.
- Retirez le filtre et supprimez la colonne Helper.
De la même manière, vous pouvez supprimer chaque 4e, 5e ou toute autre Nième ligne dans Excel.
Conseil : Si vous devez supprimer des lignes contenant des données non pertinentes, le tutoriel suivant vous sera utile : Comment supprimer des lignes en fonction de la valeur d'une cellule.
Je vous remercie de votre lecture et j'espère vous revoir sur notre blog la semaine prochaine.