VBA pour masquer les lignes dans Excel (14 méthodes)

  • Partage Ça
Hugh West

Parfois, nous avons besoin de masquer certaines lignes spécifiques lorsque nous utilisons un grand ensemble de données dans Excel pour une meilleure lisibilité. Macro VBA est la méthode la plus efficace, la plus rapide et la plus sûre pour exécuter n'importe quelle opération dans Excel. Dans cet article, nous allons vous montrer comment masquer des lignes dans Excel en fonction de différents critères à l'aide de la macro VBA.

Télécharger le cahier d'exercices

Vous pouvez télécharger le classeur Excel d'entraînement gratuit à partir d'ici.

Masquer les rangées avec VBA.xlsm

14 méthodes avec VBA pour masquer des lignes dans Excel

Dans cette section, nous allons discuter de 12 méthodes différentes avec VBA à cacher les rangs L'exemple que nous utiliserons tout au long de cet article est présenté ci-dessous.

1) Embed VBA pour masquer une seule rangée dans Excel

Si vous voulez masquer une seule ligne avec VBA puis suivez les étapes décrites ci-dessous. Dans notre cas, nous allons cacher la rangée numéro 5 ( Nom de famille ) de notre ensemble de données.

Des pas :

  • Appuyez sur Alt + F11 sur votre clavier ou allez dans l'onglet Développeur -> ; Visual Basic pour ouvrir Éditeur Visual Basic .

  • Dans la fenêtre de code contextuelle, dans la barre de menu, cliquez sur Insertion -> ; Module .

  • Copiez le code suivant et collez-le dans la fenêtre de code.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • Feuilles de travail("Single") = Définir le nom de la feuille de calcul.
  • Range("5:5") = Pass rangée numéro 5 à l'intérieur de la Gamme méthode.

  • Appuyez sur F5 sur votre clavier ou dans la barre de menu, sélectionnez Run -> ; Run Sub/UserForm Vous pouvez également cliquer sur le bouton petite icône Play dans la barre de sous-menu pour exécuter la macro.

Remarquez dans l'image ci-dessous, rangée numéro 5 est caché après l'exécution de la VBA code.

Lire la suite : Formule pour masquer les lignes dans Excel (7 méthodes)

2. insérer une macro pour masquer les lignes contiguës dans Excel

Vous avez appris à masquer une seule ligne à l'aide de la fonction VBA Mais supposez que vous voulez masquer une série de lignes qui sont contiguës Vous pouvez aussi le faire avec VBA dans Excel. Nous allons cacher rangs 5 à 7 à partir de notre jeu de données présenté ci-dessus.

Des pas :

  • De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • Feuilles de travail("contiguës") = Définir le nom de la feuille de calcul.
  • Range("5:7") = Pass rangée numéro 5 à 7 à l'intérieur de la Gamme méthode.

  • Exécuter ce code et voir dans l'image suivante que rangs 5 à 7 sont cachés maintenant.

Lire la suite : Comment masquer et détacher des lignes dans Excel (6 façons les plus simples)

3. incorporer une macro pour sécréter des rangées non contiguës

Cette fois, vous apprendrez à cacher les rangs dans Excel qui sont non contiguës avec VBA Avec notre ensemble de données, le code pour cacher rangs 5, 6, 8 et 9 sont indiqués ci-dessous.

Des pas :

  • Comme nous l'avons montré précédemment, l'ouverture Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • Feuilles de calcul("Non-Contiguës") = Définir le nom de la feuille de calcul.
  • Range("5:6, 8:9") = Pass rangée numéro 5 à 6 et 8 à 9 ans à l'intérieur de la Gamme méthode.

  • Exécuter ce morceau de code et voir que rangs 5 à 6 et 8 à 9 ans sont cachés dans l'image suivante.

Lire la suite : Comment masquer des lignes dans Excel (6 méthodes efficaces)

Macro pour masquer toutes les lignes contenant des textes dans Excel

Si vous voulez cacher toutes les lignes qui contiennent du texte valeurs, puis suivez les étapes indiquées ci-dessous.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideAllRowsContainsText() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans le jeu de données For i = 1 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Pour masquer toutes les lignes avec les données de texte If IsNumeric(Range("C" & ; i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • IsNumeric(Range("C" & ; i)) = Les données de notre jeu de données commencent à partir de colonne C, nous avons donc passé C à l'intérieur de la Gamme méthode.

  • Exécuter ce code et vous remarquerez toutes les lignes qui étaient contenant du texte sont maintenant cachées.

Lire la suite : Comment masquer plusieurs lignes dans Excel (9 méthodes)

5. Macro pour masquer toutes les lignes contenant des chiffres dans Excel

Et si vous voulez cacher toutes les lignes qui contiennent des valeurs numériques avec VBA puis suivez les étapes indiquées ci-dessous.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans le jeu de données For i = 4 To LastRow 'Boucle à travers chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher toutes les lignes avec les données numériques If IsNumeric(Range("C" & ; i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • IsNumeric(Range("C" & ; i)) = Les données de notre jeu de données commencent à partir de colonne C, nous avons donc passé C à l'intérieur de la Gamme méthode.

  • Exécuter ce code et remarquez que toutes les lignes qui étaient contenant des valeurs numériques avant sont maintenant cachés.

Lire la suite : Masquer les lignes en double basées sur une colonne dans Excel (4 méthodes)

6) Macro pour masquer les lignes contenant des zéros (0) dans Excel

Supposons que vous vouliez masquer seulement les lignes d'une colonne spécifique qui sont tenue 0 (zéro) Examinez l'ensemble de données suivant, où l'on peut voir que l'élément E colonne tient 0 en rang 7 et 82 dans la rangée 10 Nous apprendrons à cacher seulement la ligne qui contient 0 ( rang 7 ) avec VBA dans Excel.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsZero() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans le jeu de données For i = 4 To LastRow 'Boucle à travers chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant 0 dans la colonne E If Range("E" & ; i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et remarquez que la ligne ( rang 7 ) qui contenaient 0 sur colonne E est maintenant caché alors que rang 10 qui porte 82 n'est pas caché.

Lire la suite : Comment masquer les lignes vides dans Excel VBA (4 méthodes utiles)

7. mettre en œuvre une macro pour masquer les lignes contenant des valeurs négatives dans Excel

Tout comme vous pouvez masquer les lignes qui contiennent zéro de la même colonne, vous pouvez masquer les lignes qui contiennent des valeurs négatives Dans le cas de l'ensemble de données présenté ci-dessous, où colonne E contient à la fois des valeurs négatives et positives, nous allons voir le code qui ne cache que la valeur négative.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsNegative() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant des valeurs négatives dans la colonne E If IsNumeric(Range("E" & ; i)) = True Then If Range("E" & ; i) <; 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et remarquez que rang 7 qui contenait un valeur négative (-10) sur colonne E est maintenant caché alors que rang 10 qui porte 82 n'est pas caché.

8. Embarquer VBA pour dissimuler les lignes contenant des valeurs positives dans Excel

Cette fois avec l'ensemble de données donné ci-dessous où colonne E contient à la fois des valeurs positives nulles, nous verrons le VBA le code qui ne cache que le positif .

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsPositive() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour masquer la ligne contenant des valeurs positives dans la colonne E If IsNumeric(Range("E" & ; i)) = True Then If Range("E" & ; i)> ; 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et remarquez que rang 7 qui contenait un valeur positive (55) sur colonne E est maintenant caché alors que rang 10 qui porte 0 n'est pas caché.

Lire la suite : VBA pour masquer les lignes en fonction de la valeur de la cellule dans Excel (14 exemples)

Macro pour masquer les lignes contenant des nombres impairs dans Excel

Vous pouvez cacher les rangées qui ont des nombres impairs Dans l'exemple que nous avons montré au début de cet article, colonne E tient à la fois des nombres pairs et impairs dans rangs 7 et 10 Nous allons apprendre le code de cacher la ligne qui détient nombres impairs seulement.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsOdd() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant des valeurs positives dans la colonne E If IsNumeric(Range("E" & ; i)) = True Then If Range("E" & ; i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce morceau de code et voir que seulement rang 7 qui contenait un nombre impair (55) sur colonne E est maintenant caché alors que rang 10 qui porte un nombre pair (82) n'est pas caché.

10. VBA pour masquer les lignes contenant des nombres pairs dans Excel

De même, vous pouvez cacher les rangées qui ont des nombres pairs Dans l'exemple que nous avons montré au début de cet article, colonne F tient à la fois des nombres pairs et impairs dans rangs 7 et 10 Nous allons apprendre le code de cacher la ligne qui détient les nombres pairs seulement.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsEven() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant des valeurs positives dans la colonne F If IsNumeric(Range("F" & ; i)) = True Then If Range("F" & ; i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et voir que seulement rang 7 qui contenait un nombre pair (100) sur colonne F est maintenant caché alors que rang 10 qui porte un nombre impair (75) n'est pas caché.

Lire la suite : Excel VBA : décacheter toutes les lignes dans Excel (5 exemples pratiques)

11. insérer une macro pour masquer les lignes dont la taille est supérieure à une condition spécifique.

Vous pouvez cacher les lignes qui sont supérieures à une valeur spécifique avec VBA Excel. Supposons que vous souhaitiez cacher les lignes de colonne E où la valeur est plus de 80 Voici comment faire :

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsGreater() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant des valeurs positives dans la colonne E If IsNumeric(Range("E" & ; i)) = True Then If Range("E" & ; i)> ; 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et voir que seulement rang 10 qui contenait 82 (qui est supérieure à 80) dans colonne E est maintenant caché alors que rang 7 qui porte 55 n'est pas caché.

Lire la suite : Masquer les lignes en fonction de la valeur de la cellule avec la mise en forme conditionnelle dans Excel

12) Embed Macro pour couvrir les rangs qui sont inférieurs à une condition spécifique dans Excel

Vous pouvez également cacher les rangées qui sont inférieures à une valeur spécifique avec VBA Excel. Supposons que vous souhaitiez cacher les lignes de colonne E où la valeur est moins de 80 Voici comment faire :

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowContainsLess() LastRow = 1000 'Supposons qu'il y ait 1000 lignes dans l'ensemble de données For i = 4 To LastRow 'Boucle sur chaque ligne et vérifie la condition requise 'Nous définissons i = 4 parce que nos données commencent à la ligne 4 'Pour cacher la ligne contenant des valeurs positives dans la colonne E If IsNumeric(Range("E" & ; i)) = True Then If Range("E" & ; i) <; 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Votre code est maintenant prêt à être exécuté.

  • Exécuter ce code et voir que seulement rang 7 qui contenait 55 (qui est inférieur à 80) dans colonne E est maintenant caché alors que rang 10 c'est-à-dire portant 82 n'est pas caché.

Masquer les rangées basées sur la valeur du texte de la cellule avec la macro

Supposons que vous voulez masquer une ligne contenant un texte spécifique Dans notre cas, nous allons vous donner un exemple avec la ligne qui contient le mot " ". Chimie ", rang 6 et vous fournir le code pour cacher cette ligne.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • StartRow = 4 -> ; Première rangée de l'ensemble des données.
  • LastRow = 10 -> ; Dernière rangée de l'ensemble des données.
  • iCol = 4 -> ; Le adresse de la colonne que contient le texte valeur.

  • Exécuter ce code et remarquez que rangée numéro 6 qui consiste en un mot " Chimie "est caché.

Macro pour masquer les rangées en fonction de la valeur numérique de la cellule dans Excel

Précédemment, vous avez vu comment masquer une ligne en fonction de la valeur du texte de la cellule. Cette fois, vous apprendrez comment le faire lorsque la valeur du texte de la cellule est différente de celle de la ligne. la valeur est numérique Dans notre cas, nous allons vous donner un exemple avec la ligne qui contient la valeur numérique " 87 ", rang 7 et vous fournir le code pour cacher cette ligne.

Des pas :

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Votre code est maintenant prêt à être exécuté.

Ici,

  • StartRow = 4 -> ; Première rangée de l'ensemble des données.
  • LastRow = 10 -> ; Dernière rangée de l'ensemble des données.
  • iCol = 4 -> ; Le adresse de la colonne que contient le texte valeur.

  • Exécuter ce code et remarquez que rangée numéro 7 qui consiste en la valeur numérique " 87 "est caché.

Lire la suite : Comment masquer les lignes en fonction de la valeur de la cellule dans Excel (5 méthodes)

Conclusion

Cet article vous a montré comment cacher les rangs dans Excel avec VBA J'espère que cet article vous a été très utile. N'hésitez pas à me demander si vous avez des questions sur le sujet.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.