Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment supprimer des lignes vides dans VBA (avec exemples)



Vous pouvez utiliser les méthodes suivantes dans VBA pour supprimer les lignes vides :

Méthode 1 : supprimer les lignes vides dans une plage spécifique

Sub DeleteEmptyRowsInRange()
    Sheets("Sheet1").Select
    Range("A1:B10").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Cette macro particulière supprimera toutes les lignes vides de la plage A1:B10 de Sheet1 .

Méthode 2 : supprimer les lignes vides dans la feuille entière

Sub DeleteEmptyRowsInSheet()
  
    'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long

    With ActiveSheet

    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
        End If
    Next

    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub

Cette macro particulière supprimera toutes les lignes vides de toute la feuille active.

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : Supprimer les lignes vides dans une plage spécifique

Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :

Nous pouvons créer la macro suivante pour supprimer toutes les lignes vides de la plage A1:B10 sur cette feuille :

Sub DeleteEmptyRowsInRange()
    Sheets("Sheet1").Select
    Range("A1:B10").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Une fois que nous exécutons cette macro, nous recevons le résultat suivant :

Notez que toutes les lignes vides ont été supprimées de la plage que nous avons spécifiée.

Exemple 2 : supprimer les lignes vides dans une feuille entière

Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :

Nous pouvons créer la macro suivante pour supprimer toutes les lignes vides de la feuille entière :

Sub DeleteEmptyRowsInSheet()
  
    'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long

    With ActiveSheet

    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
        End If
    Next

    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub

Une fois que nous exécutons cette macro, nous recevons le résultat suivant :

Notez que toutes les lignes vides ont été supprimées de la feuille entière.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment supprimer des lignes en fonction de la valeur de la cellule
VBA : Comment supprimer une feuille si le nom contient un texte spécifique
VBA : comment supprimer des fichiers

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *