VBA : Comment masquer des lignes en fonction de critères



Vous pouvez utiliser la syntaxe suivante dans VBA pour masquer des lignes en fonction d’une valeur de cellule :

Sub HideRows()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = "Mavs" Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

Cette macro particulière masque toutes les lignes de la plage 2 à 10 qui ont une valeur de cellule égale à « Mavs » dans la première colonne.

Vous pouvez également utiliser la macro suivante pour afficher toutes les lignes :

Sub UnhideRows()
    Rows.EntireRow.Hidden = False
End Sub

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : utiliser VBA pour masquer des lignes en fonction de critères

Supposons que nous disposions de l’ensemble de données suivant contenant des informations sur divers joueurs de basket-ball :

Supposons que nous souhaitions masquer chaque ligne contenant « Mavs » dans la colonne d’équipe.

Nous pouvons créer la macro suivante pour ce faire :

Sub HideRows()

    Dim i As Integer
    
    For i = 2 To 10
    
        If Cells(i, 1).Value = "Mavs" Then
            Cells(i, 1).EntireRow.Hidden = True
        Else
            Cells(i, 1).EntireRow.Hidden = False
        End If
        
    Next i

End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que chaque ligne contenant « Mavs » dans la colonne de l’équipe a désormais été masquée.

Si nous le souhaitons, nous pouvons créer la macro suivante pour afficher toutes les lignes :

Sub UnhideRows()
    Rows.EntireRow.Hidden = False
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que toutes les lignes sont à nouveau affichées.

Notez que dans notre macro, nous avons spécifié For i = 2 To 10 pour masquer les lignes comprises entre 2 et 10 en fonction de critères.

N’hésitez pas à modifier ces valeurs de début et de fin pour masquer les lignes dans une plage de lignes différente.

Ressources additionnelles

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

VBA : Comment appliquer une mise en forme conditionnelle aux cellules
VBA : Comment compter le nombre de lignes dans la plage
VBA : Comment compter les cellules avec un texte spécifique

Ajouter un commentaire

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