Masquer des lignes Excel sous condition (en fonction de la valeur d’une cellule)

Dans ce tutoriel, nous présentons des méthodes faciles pour masquer des lignes Excel sous condition en fonction de la valeur de la cellule.

Travailler avec de grands ensembles de données contenant des milliers de lignes peut être assez pénible.

Dans de tels cas, rechercher des données qui correspondent à des critères particuliers peut être comme chercher une aiguille dans une botte de foin. Cependant, en utilisant les fonctionnalités de filtre, de mise en forme conditionnelle d’Excel ainsi que les macros de formule et VBA, nous pouvons masquer les lignes en fonction de la valeur de la cellule dans Excel.

Vous trouvez ci-dessous les méthodes mentionnées précédemment pour masquer les lignes Excel sous condition. Vous pourrez choisir la méthode avec laquelle vous vous sentez le plus à l’aise.

3 façons simples de masquer les lignes en fonction de la valeur de la cellule dans Excel

Supposons que vous disposiez d’une plage de données et que vous souhaitiez masquer les lignes en fonction d’une valeur de colonne. Par exemple, masquer la ligne si la valeur de la cellule de la colonne vaut « 0 », comme illustré ci-dessous:

masquer des lignes en fonction de la valeur de la cellule excel

Méthode 1: masquer les lignes Excel sous condition avec le filtre

Masquer des lignes Excel est vraiment facile à faire en utilisant des filtres. Voici les étapes que vous devez suivre :

  1. Pour commencer, sélectionnez l’ensemble de votre jeu de données.
  2. Ensuite, allez sur l’onglet « Données« , puis cliquez sur le bouton « Filtrer« . Vous le trouverez dans la rubrique « Trier et filtrer« .
Masquer des lignes excel sous condition
  1. Vous devriez maintenant voir un petit bouton fléché sur chaque cellule de la ligne d’en-tête. En fait, ces boutons sont destinés à vous aider à filtrer vos cellules. Ainsi, vous pouvez cliquer sur n’importe quel bouton pour choisir un filtre pour la colonne correspondante.
Masquer des lignes excel si valeur  0

Dans notre cas, par exemple, nous voulons masquer les lignes qui contiennent la valeur de quantité = 0. Pour ce faire, continuez avec ces étapes:

  1. Alors, sélectionnez la flèche à côté de l’en-tête « Quantité« .
  2. Puis, décochez la case à côté de « 0 ».
  3. Enfin, cliquez sur « OK » pour appliquer les modifications.
masquer des lignes en fonction de la valeur de la cellule excel

Vous devriez maintenant être en mesure de voir uniquement les lignes avec quantité supérieur à 0. Toutes les autres lignes doivent maintenant être masquées.

Remarque: pour une meilleure représentation, nous démontrons la méthode avec une poignée de lignes et de colonnes. Vous pouvez utiliser cette méthode pour autant de colonnes que vous le souhaitez. Ainsi, vous pouvez masquer autant de lignes que possible en fonction de votre type de données.


Merci de nous encourager sur YouTube

Masquer des lignes en fonction de la valeur de cellule sur Excel

Méthode 2: masquer des lignes sous condition avec la mise en forme conditionnelle Excel

Les méthodes précédentes masquent la ligne entière de telle sorte qu’il semble qu’elle n’existe pas. Cependant, cette méthode ne masque que le contenu de la ligne.

En vérité, la mise en forme conditionnelle ne change que la mise en forme d’une cellule/plage de cellules. En d’autres termes, elle ne change pas réellement la cellule elle-même. Toutefois, avec la mise en forme conditionnelle dExcel, vous serez capable de masquer le contenu des lignes en fonction de la valeur de la cellule.

Pour masquer des lignes Excel sous condition avec la mise en forme conditionnelle, suivez ce étapes:

  1. D’abord, sélectionnez votre ensemble de données sans inclure les entêtes.
  2. Ensuite, accédez à l’onglet « Accueil« . Puis, cliquez sur « Mise en forme conditionnelle » dans le groupe « Styles« .
  1. Puis, dans le menu qui s’affiche, sélectionnez « Nouvelle règle« .
  1. En conséquence, la fenêtre « Nouvelle règle de mise forme » apparaît. Dans la zone « Sélectionnez un type de règle« , choisissez l’option « Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué« .
La mise en forme conditionnelle Excel
  1. Puis, tapez la formule suivante sous « Modifier la description de la règle« :
=$C2=0
masquer des lignes en fonction de la valeur de la cellule avec la mise en forme conditionnelle Excel
  1. Ensuite, cliquez sur le bouton « Format » pour ouvrir la fenêtre « Format de cellule« .
Modifier le format de cellule
  1. Dans la fenêtre « Format de cellule« , activez l’onglet « Nombre« . Puis, choisissez « Personnalisée » sous l’option « Catégorie » et tapez 3 points-virgules (c’est-à-dire ;;;) sous la section « Type« .
  2. Enfin, cliquez sur « OK » pour appliquer le format.
  3. En cliquant sur « OK« , Excel vous ramène à la boîte de dialogue « Nouvelle règle de mise en forme« . Encore une fois, cliquez sur « OK« .
masquer des lignes sous condition avec la mise en forme conditionnelle Excel

L’exécution des étapes 1 à 9 entraîne le masquage de tous les contenus correspondant à 0 dans la colonne C.

masquer des lignes sous condition avec la mise en forme conditionnelle Excel

Vous pouvez modifier la formule de la mise en forme conditionnelle pour répondre à vos besoin. Par exemple, vous pouvez modifier la valeur 0 par n’importe quelle autre valeur.

Méthode 3: utilisation de Excel VBA pour masquer les lignes en fonction de la valeur de la cellule

La troisième méthode nécessite un peu de codage. Si vous êtes habitué à utiliser des macros et un peu de codage à l’aide de VBA, cette méthode est pour vous. En fait, avec VBA, vous bénéficiez de beaucoup plus de possibilités et de flexibilité pour manipuler vos données afin qu’elles se comportent exactement comme vous le souhaitez.

Nous travaillons dans cet exemple sur l’ensemble de données suivant:

Excel VBA: code de macro pour masquer les lignes en fonction de la valeur de cellule

Le code suivant vous aidera à afficher uniquement les lignes qui contiennent des informations sur le fournisseur « Otmane » et masquera toutes les autres lignes :

Sub MasquerLigneACondition()
LigneDebut = 2
LigneFin = 16
NumeroColonne = 2
For i = LigneDebut To LigneFin
If Cells(i, NumeroColonne).Value <> "Otmane" Then
Cells(i, NumeroColonne).EntireRow.Hidden = True
Else
Cells(i, NumeroColonne).EntireRow.Hidden = False
End If
Next i
End Sub

Cette macro parcourt chaque cellule de la colonne B et masque les lignes qui ne contiennent pas la valeur « Otmane« . Ainsi, elle analysera chaque cellule des lignes 2 à 16 et ajustera l’attribut « Hidden » des lignes que vous souhaitez masquer.

Pour entrer le code ci-dessus, copiez-le et collez-le dans l’éditeur VBA. Voici comment:

  1. D’abord, allez sur l’onglet « Développeur« , puis cliquez sur « Visual Basic« . Si vous n’avez pas l’onglet « Développeur » appuyez sur le raccourci « Alt + F11« .
  1. En conséquence, cela ouvre la fenêtre de l’éditeur VBA. vous verrez tous vos fichiers et dossiers dans l’explorateur de projet sur le côté gauche. Si vous ne voyez pas l’Explorateur de projets, cliquez sur « Affichage« puis sur « Explorateur de projets« .
Excel VBA masquer des lignes sous condition
  1. Ensuite, assurez-vous que « ThisWorkbook » est sélectionné sous le projet VBA avec le même nom que votre classeur Excel.
Ajouter un module VBA Excel
  1. Ensuite, cliquez sur « Insertion« puis sur « Module« . Vous devriez voir une nouvelle fenêtre de module s’ouvrir.
Excel VBA Masquer des lignes en fonction de la valeur de la cellule
  1. Maintenant, copiez les lignes de code ci-dessus et collez-les dans la nouvelle fenêtre du module. Voir la capture ci-dessous:
Masquer des lignes en fonction de la valeur de la cellule Excel
  1. Fermez la fenêtre VBA.

Votre macro est maintenant prête à être utilisée.

Dans notre exemple, nous voulons masquer les lignes qui ne contiennent pas la valeur « Otmane » dans la colonne 2. Mais vous pouvez remplacer la valeur du numéro NumeroColonne par le numéro de colonne contenant vos valeurs de critères.

Excel VBA: exécution de la macro masquer les lignes sous condition

Chaque fois que vous avez besoin d’utiliser votre macro, tout ce que vous avez à faire est de l’exécuter. Voici comment faire :

  1. Pour commencer, accédez à l’onglet « Développeur« . Si vous ne voyez pas le ruban « Développeur, » suivez ces étapes pour l’afficher:
    • Faites un clic droit sur le ruban Excel.
    • Puis, sélectionnez « Personnaliser le ruban » dans le menu contextuel qui s’affiche.
    • Ensuite, dans la fenêtre « Options » qui s’ouvre, cochez l’option « Développeur » sous la section des onglets principaux.
    • Enfin, cliquez sur « OK« .
Afficher l'onglet "Développeur" Excel
  1. Ensuite, cliquez sur le bouton « Macros » dans le groupe « Code« .
Exécuter une macro Excel
  1. Cela ouvrira la fenêtre « Macro« , où vous trouverez les noms de toutes les macros que vous avez créées jusqu’à présent.
Boite de dialogue Macro Excel
  1. Sélectionnez la macro que nous venons de créer. Vous verrez afficher son nom « MasquerLigneACondition« .
  2. Enfin, cliquez sur le bouton le bouton « Exécuter« .
  3. En conséquence, cela va masquer toutes les lignes où la valeur de la colonne B n’est pas « Otmane« .
Macro pour masquer des lignes Excel

Excel VBA masquer les lignes Excel: explication du code

Voici une explication ligne par ligne du code ci-dessus :

  • À la ligne 1, nous avons défini le nom de la fonction.
Sub MasquerLigneACondition()
  • Aux lignes 2, 3 et 4, nous avons défini des variables pour contenir la ligne de départ et la ligne de fin de l’ensemble de données ainsi que l’index de la colonne de critères. Nous avons définit la ligne de début sur 2 pour ne pas inclure les entêtes. Puis, pour l’index de la colonne, comme la colonne « Fournisseur » est dans la deuxième position, nous l’avons définit ainsi, sur 2.
LigneDebut = 2
LigneFin = 16
NumeroColonne = 2
  • Aux lignes 5 à 11, nous essayons de parcourir chaque cellule de la colonne « 2 » (ou colonne B) de la feuille de travail active. Si une cellule ne contient pas la valeur « Otmane« , nous définissons l’attribut « Hidden » de la ligne entière sur « True« . En d’autres termes, cela indique à Excel que nous voulons masquer toute la ligne correspondante.
For i = LigneDebut To LigneFin
If Cells(i, NumeroColonne).Value <> "Otmane" Then
Cells(i, NumeroColonne).EntireRow.Hidden = True
Else
Cells(i, NumeroColonne).EntireRow.Hidden = False
End If
Next i
  • La ligne 12 délimite simplement la fin de la fonction MasquerLigneACondition.
End Sub

Afficher les colonnes en fonction de la valeur de la cellule Excel

Nous avons vu comment utiliser le VBA pour masquer les lignes indésirables. Mais, que se passe-t-il si nous voulons revoir les lignes masquées ?

Faire cela est assez facile. Il vous suffit d’apporter une petite modification à la fonction précédente. Voici le code de la nouvelle macro:

Sub AfficherLigne()
LigneDebut = 2
LigneFin = 16
NumeroColonne = 2
For i = LigneDebut To LigneFin
Cells(i, NumeroColonne).EntireRow.Hidden = False
Next i
End Sub

Ici, nous définissons la propriété « Hidden » de toutes les lignes sur « False« . Ainsi, quelle que soit la valeur, toutes les lignes sont affichées.

Vous pouvez exécuter cette macro exactement de la même manière que MasquerLigneACondition.

Afficher les colonnes en fonction de la valeur de la cellule Excel

Conclusion

Dans ce tutoriel, nous vous avons montré comment vous pouvez utiliser des filtres ainsi qu’Excel VBA pour masquer des lignes en fonction d’une valeur de cellule.

Nous espérons que nous avons réussi à vous aider à comprendre le concept derrière le code afin que vous puissiez le personnaliser et l’utiliser dans vos propres applications.

Autres tutoriels que vous pourriez également aimer :