Comment supprimer toutes les lignes et colonnes cachées dans Excel

De nombreux utilisateurs d'Excel masquent des lignes et des colonnes lorsqu'ils ont des données dont ils n'ont pas besoin.

C'est un moyen de ne garder visibles que les données utiles, et en même temps de ne pas avoir à supprimer les données dont vous n'avez pas besoin pour être visibles.

Et, si vous avez beaucoup de telles lignes/colonnes cachées, il peut être difficile de trouver et de supprimer ces lignes et colonnes cachées (dans le cas où vous n'en avez pas besoin).

Dans ce tutoriel, je vais vous montrer quelques façons de facilement supprimer les lignes et les colonnes masquées dans Excel.

Il existe une méthode intégrée qui vous permet de supprimer toutes les lignes et colonnes masquées en une seule fois, et vous pouvez également utiliser des codes de macro VBA au cas où vous souhaiteriez l'appliquer à notre plage de cellules sélectionnée.

Alors, commençons!

Supprimer toutes les lignes et colonnes masquées dans Excel

Si vous souhaitez supprimer toutes les lignes et colonnes masquées d'un classeur entier dans Excel, vous pouvez utiliser la méthode indiquée ici.

N'oubliez pas qu'il va supprimer ces lignes et colonnes masquées de l'ensemble du classeur et non de la feuille active uniquement.

Vous trouverez ci-dessous les étapes pour supprimer toutes les lignes et colonnes masquées du classeur dans Excel :

  1. Cliquez sur l'option Fichier
  2. Dans les options à gauche, cliquez sur ‘Info’
  3. Cliquez sur l'option « Vérifier les problèmes »
  4. Cliquez sur l'option « Inspecter le document ». Cela ouvrira la boîte de dialogue Inspecteur de document
  5. Dans la boîte de dialogue « Inspecteur de documents », cliquez sur le bouton « Inspecter ». Cela inspectera l'ensemble du classeur et vous donnera les informations sur le classeur
  6. Faites défiler jusqu'à l'option « Lignes et colonnes cachées ». Vous verrez qu'il affiche le nombre total de lignes et de colonnes masquées qu'il a trouvées dans le classeur.
  7. Cliquez sur le bouton « Supprimer tout »

Les étapes ci-dessus supprimeraient toutes les lignes et colonnes masquées du classeur.

Notez que vous devez enregistrer ce classeur avant d'exécuter l'option Inspecteur de document. Si le classeur n'est pas déjà enregistré, Excel vous forcera d'abord à l'enregistrer. En outre, il vous affichera une invite d'avertissement vous demandant d'enregistrer le fichier une fois, car les données modifiées par ces étapes ne peuvent pas être récupérées.

S'il n'y a pas de lignes et de colonnes masquées, vous verrez une coche verte avant l'option Masqué et Lignes et colonnes (dans la boîte de dialogue Inspecteur de document).

Outre les lignes et colonnes masquées, la boîte de dialogue Inspecteur de document vous fournit également de nombreuses autres informations utiles, telles que le nombre de commentaires, de feuilles de calcul masquées ou de documents incorporés, etc.

Remarque : vous ne pouvez pas annuler les modifications apportées par l'inspecteur de document. Assurez-vous donc d'avoir une copie de sauvegarde des données d'origine (au cas où vous en auriez besoin à l'avenir)

C'est une excellente méthode si vous souhaitez supprimer toutes les colonnes et lignes masquées pour l'ensemble du classeur.

Mais si vous souhaitez uniquement le supprimer dans une feuille spécifique ou dans une plage spécifique, vous ne pouvez pas utiliser cette option.

Dans ce cas, vous pouvez utiliser la méthode VBA décrite ci-après.

Supprimer les lignes et les colonnes cachées à l'aide de VBA

Si vous n'avez que quelques lignes et colonnes masquées, il est possible de les afficher manuellement, puis de les supprimer.

Mais si c'est quelque chose que vous devez faire assez souvent, ou si vous avez un grand ensemble de données avec un grand nombre de lignes/colonnes qui sont masquées, il est préférable d'utiliser des codes de macro VBA pour automatiser ce processus.

Examinons différents scénarios dans lesquels vous pouvez utiliser VBA pour supprimer ces lignes et colonnes masquées.

À partir d'une feuille de calcul entière (plage utilisée)

Bien que je puisse faire en sorte que le code VBA vérifie toute la feuille de calcul à partir du dernier numéro de ligne et du dernier numéro de colonne de la feuille de calcul, ce serait un gaspillage de ressources.

Une meilleure méthode serait de voir quelle est la plage utilisée, puis de vérifier uniquement cette plage utilisée pour les lignes et colonnes masquées.

Vous trouverez ci-dessous le code VBA qui supprimerait toutes les lignes masquées de la plage utilisée :

Sub DeleteHiddenRows() Dim sht As Worksheet Dim LastRow Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row For i = LastRow To 1 Step -1 If Rows(i).Hidden = True Puis Rows(i).EntireRow.Delete Next End Sub

Le code VBA ci-dessus trouve d'abord le dernier numéro de ligne dans la plage utilisée et attribue ce numéro de ligne à la variable « LastRow ».

Ce dernier numéro de ligne est ensuite utilisé dans une boucle For Next, où il commence à partir de la dernière ligne et vérifie s'il est masqué ou non.

Si elle est masquée, toute cette ligne est supprimée. Et s'il n'est pas masqué, le code laisse cette ligne telle quelle et passe à la ligne au-dessus. Cette boucle vérifie toutes les lignes et supprime toute ligne cachée qu'elle rencontre au cours du processus.

Si vous souhaitez supprimer toutes les colonnes masquées de la plage utilisée, utilisez le code VBA ci-dessous :

Sub DeleteHiddenColumns() Dim sht As Worksheet Dim LastCol as Integer Set sht = ActiveSheet LastCol = sht.UsedRange.Columns(sht.UsedRange.Columns.Count).Column For i = LastCol To 1 Step -1 If Columns(i).Hidden = True Then Columns(i).EntireColumn.Delete Next End Sub

Cela fonctionne à nouveau de la même manière, où au lieu de lignes, nous vérifions les colonnes.

Il trouve donc le dernier numéro de colonne dans la plage utilisée, l'affecte à une variable, puis utilise la boucle pour passer de la dernière colonne à la première colonne et supprimer toutes les colonnes masquées dans le processus.

Et au cas où vous voudriez avoir un code qui supprimerait toutes les lignes cachées, ainsi que les colonnes cachées, utilisez le code VBA ci-dessous :

Sub DeleteHiddenRowsColumns() Dim sht As Worksheet Dim LastRow as Integer Dim LastCol as Integer Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row LastCol = sht.UsedRange.Columns(sht.Us Columns.Count).Column For i = LastRow To 1 Step -1 If Rows(i).Hidden = True Then Rows(i).EntireRow.Delete Next For i = LastCol To 1 Step -1 If Columns(i).Hidden = True Then Columns(i).EntireColumn.Delete Next End Sub

Ceci est juste le code combiné pour les lignes et les colonnes et fonctionne de la même manière.

Au lieu d'une boucle, cela utilise deux boucles distinctes, où il passe d'abord par toutes les lignes, puis par toutes les colonnes. Et dans le processus, il supprime toutes les lignes et colonnes cachées qu'il rencontre.

Notez que vous devez placer ce code VBA dans un module standard de Visual Basic Editor. Vous pouvez ensuite exécuter le code directement à partir de l'éditeur VB, en utilisant la boîte de dialogue de macro ou en ajoutant cette macro à la barre d'outils d'accès rapide.

Si c'est quelque chose que vous devez faire assez souvent, vous pouvez également ajouter ce code au classeur de macros personnelles afin d'y avoir accès à partir de tous les classeurs de votre système.

À partir d'une plage spécifique de cellules

Si vous avez une plage spécifique à partir de laquelle vous souhaitez supprimer des lignes et des colonnes masquées, vous devez le spécifier dans le code.

Cela garantit que le code ne fait qu'entourer les lignes et les colonnes de cette plage spécifiée et laisse les autres zones de la feuille de calcul intactes

Ci-dessous le code VBA qui ferait cela:

Sub DeleteHiddenRowsColumns() Dim sht As Worksheet Dim Rng As Range Dim LastRow As Integer Dim RowCount As Integer Set sht = ActiveSheet Set Rng = Range("A1:K200") RowCount = Rng.Rows.Count LastRow = Rng.Rows(Rng. Rows.Count).Row ColCount = Rng.Columns.Count LastCol = Rng.Columns(Rng.Columns.Count).Column For i = LastRow To LastRow - RowCount Step -1 If Rows(i).Hidden = True Then Rows( i).EntireRow.Delete Next For j = LastCol To LastCol - ColCount Step -1 If Columns(j).Hidden = True Then Columns(j).EntireColumn.Delete Next End Sub

Dans le code ci-dessus, j'ai spécifié la plage comme A1:K200.

Cela permet au code de parcourir toutes les lignes et colonnes de la plage spécifiée et de supprimer toutes les lignes et colonnes masquées qu'il rencontre.

Si vous avez masqué des lignes ou des colonnes en dehors de cette plage, celles-ci ne seront pas affectées.

Voici donc comment vous pouvez supprimer lignes et colonnes masquées dans Excel.

Si vous souhaitez le faire sur l'ensemble du classeur, vous pouvez utiliser l'option Inspecteur de document. Et si vous avez besoin de plus de contrôle, vous pouvez utiliser les codes VBA comme indiqué ci-dessus.

J'espère que vous avez trouvé ce tutoriel utile!

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave