Comment supprimer des lignes vides dans Excel avec VBA, des formules et Power Query ?

  • Partage Ça
Michael Brown

Ce tutoriel vous apprendra quelques astuces simples pour supprimer plusieurs lignes vides dans Excel en toute sécurité, sans perdre la moindre information. .

Les lignes vides dans Excel sont un problème auquel nous sommes tous confrontés de temps en temps, en particulier lorsque nous combinons des données provenant de différentes sources ou que nous importons des informations d'un autre endroit. Les lignes vides peuvent causer beaucoup de dégâts à vos feuilles de calcul à différents niveaux et leur suppression manuelle peut être un processus long et sujet aux erreurs. Dans cet article, vous apprendrez quelques méthodes simples et fiables pour supprimer les lignes vides dans les feuilles de calcul Excel.vos feuilles de travail.

    Comment NE PAS supprimer les lignes vides dans Excel

    Il existe plusieurs façons de supprimer des lignes vides dans Excel, mais étonnamment, de nombreuses ressources en ligne s'en tiennent à la plus dangereuse, à savoir Trouver et sélectionner > ; Aller à Spécial > ; Flans .

    Qu'est-ce qui ne va pas avec cette technique ? Ça sélectionne tous les vierges dans une plage, et par conséquent vous finirez par supprimer toutes les lignes qui contiennent ne serait-ce qu'une seule cellule vide.

    L'image ci-dessous montre le tableau original à gauche et le tableau résultant à droite. Dans le tableau résultant, toutes les lignes incomplètes ont disparu, même la ligne 10 où seule la date de la colonne D manquait :

    En résumé, si vous ne voulez pas perturber vos données, ne supprimez jamais de lignes vides en sélectionnant des cellules vides, mais utilisez plutôt l'une des approches plus réfléchies présentées ci-dessous.

    Comment supprimer les lignes vides dans Excel avec VBA ?

    Excel VBA peut résoudre beaucoup de problèmes, y compris celui des lignes vides multiples. Le plus intéressant dans cette approche est qu'elle ne nécessite aucune compétence en programmation. Il suffit de saisir l'un des codes ci-dessous et de l'exécuter dans votre Excel (les instructions sont ici).

    Macro 1. supprimer les lignes vides dans une plage sélectionnée

    Ce code VBA supprime silencieusement toutes les lignes vides dans une plage sélectionnée, sans afficher de message ou de boîte de dialogue à l'utilisateur.

    Contrairement à la technique précédente, la macro supprime une ligne si l'option toute la ligne est vide Il s'appuie sur la fonction CountA de la feuille de calcul pour obtenir le nombre de cellules non vides dans chaque ligne, puis il supprime les lignes dont le nombre est nul.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application.Selection If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating= True End If End Sub

    Donner à l'utilisateur la possibilité de sélectionner la plage cible après avoir exécuté la macro utilisez ce code :

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Select a range :" , "Delete Blank Rows" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow IfApplication.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Lors de l'exécution, la macro affiche le champ de saisie suivant, vous sélectionnez la plage cible et cliquez sur OK :

    En un instant, toutes les lignes vides dans la plage sélectionnée seront éliminées et les lignes restantes se déplaceront vers le haut :

    Macro 2 : Supprimer toutes les lignes vides dans Excel

    Pour supprimer toutes les lignes vides sur le feuille active détermine la dernière ligne de la plage utilisée (c'est-à-dire la ligne contenant la dernière cellule contenant des données), puis remonte en supprimant les lignes pour lesquelles CountA renvoie zéro :

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = ActiveSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 Then Rows(RowIndex).Delete End If Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3 : Suppression de la ligne si la cellule est vide

    Avec cette macro, vous pouvez supprimer une ligne entière si une cellule de la colonne spécifiée est vide.

    Le code suivant vérifie la présence de blancs dans la colonne A. Pour supprimer des lignes basées sur une autre colonne, remplacez "A" par une lettre appropriée.

    Sub DeleteRowIfCellBlank() On Error Resume Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    En fait, la macro utilise la fonction Aller à Spécial > ; Flans et vous pouvez obtenir le même résultat en effectuant ces étapes manuellement.

    Remarque : La macro supprime les lignes vides dans le fichier feuille entière Par précaution, il peut être judicieux de sauvegarder la feuille de calcul avant d'exécuter cette macro.

    Comment supprimer les lignes vides dans Excel avec VBA

    Pour supprimer des lignes vides dans Excel à l'aide d'une macro, vous pouvez soit insérer le code VBA dans votre propre classeur, soit exécuter une macro à partir de notre classeur type.

    Ajouter une macro à votre classeur

    Pour insérer une macro dans votre classeur, procédez comme suit :

    1. Ouvrez la feuille de calcul dans laquelle vous souhaitez supprimer les lignes vides.
    2. Appuyez sur Alt + F11 pour ouvrir l'éditeur Visual Basic.
    3. Dans le volet de gauche, cliquez à droite sur Ce manuel de travail puis cliquez sur Insérer > ; Module .
    4. Collez le code dans la fenêtre Code.
    5. Appuyez sur F5 pour exécuter la macro.

    Pour obtenir des instructions détaillées, étape par étape, veuillez consulter la section Comment insérer et utiliser VBA dans Excel.

    Exécuter une macro à partir de notre classeur type

    Téléchargez notre exemple de classeur avec des macros pour supprimer les lignes vides et exécutez l'une des macros suivantes à partir de là :

    DeleteBlankRows - supprime les lignes vides dans la plage actuellement sélectionnée.

    RemoveBlankLines - supprime les lignes vides et les décalages vers le haut dans une plage que vous sélectionnez après avoir exécuté la macro.

    DeleteAllEmptyRows - supprime toutes les lignes vides de la feuille active.

    DeleteRowIfCellBlank - supprime une ligne si une cellule d'une colonne spécifique est vide.

    Pour exécuter la macro dans votre Excel, procédez comme suit :

    1. Ouvrez le classeur téléchargé et activez les macros si vous y êtes invité.
    2. Ouvrez votre propre classeur et accédez à la feuille de calcul qui vous intéresse.
    3. Dans votre feuille de calcul, appuyez sur Alt + F8, sélectionnez la macro, puis cliquez sur Exécuter .

    Formule pour supprimer les lignes vides dans Excel

    Si vous souhaitez voir ce que vous supprimez, utilisez la formule suivante pour identifier les lignes vides :

    =IF(COUNTA(A2:D2)=0, "Blanc", "Non blanc")

    Où A2 est la première et D2 la dernière cellule utilisée de la première ligne de données.

    Entrez cette formule dans E2 ou dans toute autre colonne vide de la ligne 2, et faites glisser la poignée de remplissage pour copier la formule vers le bas.

    Le résultat est que vous aurez "Blank" dans les lignes vides et "Not blank" dans les lignes qui contiennent au moins une cellule avec des données :

    La logique de la formule est évidente : vous comptez les cellules non vides à l'aide de la fonction COUNTA et utilisez l'instruction IF pour renvoyer " Blank " pour un compte nul, " Not Blank " sinon.

    En fait, vous pouvez très bien vous passer de la FI :

    =COUNTA(A2:D2)=0

    Dans ce cas, la formule renvoie VRAI pour les lignes vides et FAUX pour les lignes non vides.

    Une fois la formule en place, procédez comme suit pour supprimer les lignes vides :

    1. Sélectionnez n'importe quelle cellule de la ligne d'en-tête et cliquez sur Trier et filtrer > ; Filtre sur le Accueil dans l'onglet Formats Cela ajoutera les flèches déroulantes de filtrage à toutes les cellules d'en-tête.
    2. Cliquez sur la flèche dans l'en-tête de la colonne de formule, décochez (Sélectionner tout), sélectionnez vierge et cliquez sur OK :
    3. Sélectionnez toutes les lignes filtrées. Pour cela, cliquez sur la première cellule de la première ligne filtrée et appuyez sur Ctrl + Shift + End pour étendre la sélection à la dernière cellule de la dernière ligne filtrée.
    4. Cliquez avec le bouton droit de la souris sur la sélection, choisissez Supprimer une ligne dans le menu contextuel, puis confirmez que vous voulez vraiment supprimer des lignes entières :
    5. Supprimez le filtre en appuyant sur Ctrl + Shift + L . ou cliquez sur Accueil tab> ; Trier et filtrer > ; Filtre .
    6. Supprimez la colonne contenant la formule, car vous n'en avez plus besoin.

    Et voilà, le résultat est un tableau propre, sans lignes vides, mais avec toutes les informations préservées :

    Conseil. Au lieu de supprimer les lignes vides, vous pouvez copier les lignes non vides Pour ce faire, filtrez les lignes "non vides", sélectionnez-les et appuyez sur Ctrl + C pour copier. Passez ensuite à une autre feuille, sélectionnez la cellule supérieure gauche de la plage de destination et appuyez sur Ctrl + V pour coller.

    Comment supprimer les lignes vides dans Excel avec Power Query

    Dans Excel 2016 et Excel 2019, il existe un autre moyen de supprimer les lignes vides - en utilisant la fonctionnalité Power Query. Dans Excel 2010 et Excel 2013, elle peut être téléchargée en tant que module complémentaire.

    Remarque importante ! Cette méthode fonctionne avec l'avertissement suivant : Power Query convertit les données sources en un tableau Excel et modifie le formatage tel que la couleur de remplissage, les bordures et certains formats de chiffres. Si le formatage de vos données d'origine est important pour vous, vous feriez mieux de choisir une autre méthode pour supprimer les lignes vides dans Excel.

    1. Sélectionnez la plage dans laquelle vous souhaitez supprimer les lignes vides.
    2. Allez à la Données tab> ; Obtenir et transformer et cliquez sur De la table/plage Ceci chargera votre table dans l'éditeur Power Query.
    3. Sur le Accueil de l'éditeur Power Query, cliquez sur Supprimer les rangs > ; Supprimer les lignes vides .
    4. Cliquez sur le bouton Fermer & ; Charger Cela chargera le tableau résultant dans une nouvelle feuille de calcul et fermera l'éditeur de requêtes.

    À la suite de ces manipulations, j'ai obtenu le tableau suivant sans lignes vides, mais avec quelques changements désagréables - le format de la devise est perdu et les dates sont affichées dans le format par défaut au lieu du format personnalisé :

    Comment supprimer des lignes si la cellule d'une certaine colonne est vide ?

    Au début de ce tutoriel, nous vous avons mis en garde contre la suppression des lignes vides en sélectionnant des blancs. Cependant, cette méthode s'avère utile si vous souhaitez supprimer des lignes sur la base des critères suivants les blancs dans une colonne spécifique .

    À titre d'exemple, supprimons toutes les lignes où une cellule de la colonne A est vide :

    1. Sélectionnez la colonne clé, la colonne A dans notre cas.
    2. Sur le Accueil cliquez sur Trouver et sélectionner > ; Aller à Spécial Ou appuyez sur F5 et cliquez sur le bouton Spécial... bouton.
    3. Dans le Aller à Spécial sélectionnez Flans et cliquez sur OK Ceci sélectionnera les cellules vierges de la plage utilisée dans la colonne A.
    4. Cliquez avec le bouton droit de la souris sur une cellule sélectionnée et choisissez Supprimer... dans le menu contextuel.
    5. Dans le Supprimer sélectionnez Ligne entière et cliquez sur OK.

    Les lignes qui n'ont pas de valeur dans la colonne A ne sont plus là :

    Le même résultat peut être obtenu en filtrant les blancs dans la colonne clé.

    Comment supprimer les lignes supplémentaires sous les données

    Parfois, les lignes qui semblent complètement vides peuvent en fait contenir des formats ou des caractères non imprimables. Pour vérifier si la dernière cellule contenant des données est réellement la dernière cellule utilisée dans votre feuille de calcul, appuyez sur les touches Ctrl + Fin . Si cela vous a conduit à une ligne visuellement vide sous vos données, en termes d'Excel, cette ligne n'est pas vide. Pour supprimer de telles lignes, procédez comme suit :

    1. Cliquez sur l'en-tête de la première ligne vide située sous vos données pour la sélectionner.
    2. Appuyez sur les touches Ctrl + Shift + End pour sélectionner toutes les lignes contenant des formats, des espaces et des caractères non imprimés.
    3. Cliquez avec le bouton droit de la souris sur la sélection et choisissez Supprimer... > ; Toute la rangée.

    Si vous disposez d'un ensemble de données relativement petit, vous pouvez souhaiter vous débarrasser de toutes les lignes vides sous vos données, par exemple pour faciliter le défilement. Bien qu'il n'existe aucun moyen de supprimer les lignes inutilisées dans Excel, rien ne vous empêche de cacher Voici comment :

    1. Sélectionnez la ligne située sous la dernière ligne contenant des données en cliquant sur son en-tête.
    2. Appuyez sur Ctrl + Shift + Flèche vers le bas pour étendre la sélection à la dernière ligne de la feuille.
    3. Appuyez sur Ctrl + 9 pour masquer les lignes sélectionnées. Ou bien, cliquez avec le bouton droit de la souris sur la sélection, puis cliquez sur Cacher .

    A Démasquer les rangs appuyez sur Ctrl + A pour sélectionner la feuille entière, puis appuyez sur Ctrl + Shift + 9 pour rendre toutes les lignes à nouveau visibles.

    De la même manière, vous pouvez masquer les colonnes vides inutilisées à droite de vos données. Pour les étapes détaillées, veuillez consulter Masquer les lignes inutilisées dans Excel afin que seule la zone de travail soit visible.

    Le moyen le plus rapide de supprimer les lignes vides dans Excel

    En lisant les exemples précédents, n'avez-vous pas eu l'impression que nous utilisions une masse pour casser une noix ? Ici, à Ablebits, nous préférons ne pas rendre les choses plus complexes qu'elles ne doivent l'être. Nous avons donc fait un pas de plus et créé un parcours en deux clics pour supprimer les lignes vides dans Excel.

    Avec l'Ultimate Suite ajoutée à votre ruban, voici comment vous pouvez supprimer toutes les lignes vides dans une feuille de calcul :

    1. Sur le Outils Ablebits dans l'onglet Transformer cliquez sur Supprimer les vides > ; Lignes vides :
    2. L'add-in vous informe que toutes les lignes vides vont être supprimées de la feuille de calcul active et vous demande de confirmer. Cliquez sur OK, et dans un instant, toutes les lignes vides seront éliminées.

    Comme le montre la capture d'écran ci-dessous, nous avons seulement supprimé des lignes absolument vides qui n'ont pas une seule cellule avec des données :

    Pour découvrir plus de fonctionnalités impressionnantes incluses dans notre Ultimate Suite pour Excel, vous pouvez télécharger une version d'essai.

    Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.