Comment supprimer une ligne sur deux d’une feuille de calcul Excel

Résumé

Cet article contient un exemple de macro Microsoft Visual Basic pour Applications que vous pouvez utiliser pour supprimer toutes les autres lignes d’une plage sélectionnée dans une feuille de calcul Microsoft Excel.

Informations supplémentaires

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Pour utiliser la macro suivante, configurez un classeur Excel comme suit :

  1. Créez un classeur Microsoft Excel.

  2. Dans une nouvelle feuille de calcul, dans la plage A1 :A9, tapez les nombres 1 à 5, en ignorant les lignes, comme dans l’exemple suivant :

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Dans le menu Outils, pointez sur Macro, puis cliquez sur Visual Basic Editor.

    Note Dans Microsoft Office Excel 2007 et versions ultérieures, cliquez sur Visual Basic dans le groupe Code sous l’onglet Développeur .

  4. Dans le menu Insertion, cliquez sur Module.

  5. Dans le nouveau module, tapez la macro suivante :

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Basculez vers la feuille de calcul qui contient les données, puis sélectionnez la plage A1 :A9.

  2. Pour exécuter la macro, pointez sur Macro dans le menu Outils, puis cliquez sur Macros.

    Remarque

    • Dans Excel 2007 et versions ultérieures, cliquez sur Macros dans le groupe Code sous l’onglet Développeur .
    • Pour afficher l’onglet Développeur dans le ruban, cliquez sur le bouton Microsoft Office, cliquez sur Options Excel, cliquez sur la catégorie Populaire, cliquez pour sélectionner l’onglet Afficher le développeur dans la zone case activée ruban, puis cliquez sur OK.
  3. Sélectionnez la macro Delete_Every_Other_Row , puis cliquez sur Exécuter.

Cette macro supprime toutes les autres lignes, en commençant par la deuxième ligne de la sélection.

Remarque

Si vous disposez d’une liste de données contenant plusieurs colonnes, sélectionnez uniquement la première colonne de données, puis exécutez la macro.