Dans cet article, vous apprendrez à filtrer les données en fonction de la sélection de cellule.

Vous devez suivre les étapes ci-dessous:

Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic

img1

Entrez le code suivant dans la feuille de calcul actuelle (sheet1 dans notre exemple)

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)

Dim xcolumn As Integer

Dim xvalue As String

xcolumn = ActiveCell.Column

xvalue = ActiveCell.Value

Si Application.Intersect (ActiveCell, [headers]) N’est rien alors

Si ActiveCell.Value <> «  » Alors

ActiveSheet.Range (« A: d »). Champ de filtre automatique: = xcolumn, Criteria1: = xvalue

Annuler = Vrai

Fin si

Fin si

End Sub

===

===

Private Sub Worksheet_SelectionChange (ByVal Target As Range)

Dim rownumber As Integer

rownumber = ActiveCell.Row

Si Application.Intersect (ActiveCell, [headers]) N’est rien alors

Si ActiveCell.Value <> «  » Alors

Range (« A1: D13 »). Interior.ColorIndex = xlNone

Range (« A » & rownumber & « : D » & rownumber) .Interior.ColorIndex = 6

Fin si

Fin si

End Sub

img2

Remarque: les en-têtes dans le code ci-dessus représentent la plage nommée pour la plage A1: D1 Vous pouvez simplement sélectionner la plage A1: D1 & taper les en-têtes dans la zone Nom ou vous pouvez utiliser le Nom défini dans l’onglet Formules

img3

L’événement BeforeDoubleClick * sera déclenché à chaque fois que l’utilisateur cliquera deux fois sur une cellule et changera le filtre dans la recherche.

  • Si nous voulons filtrer les données par produit C, nous pouvons facilement double-cliquer sur la cellule D4 pour filtrer la recherche.

img4

Si nous voulons filtrer la recherche par colonne C et produit KFCWW, nous double-cliquerons sur la cellule C4 pour affiner les données.

img5

L’événement SelectionChange * sera activé chaque fois que l’utilisateur sélectionne une cellule et il changera la couleur du blanc au jaune. Si la cellule active est vide, le code ne s’exécutera pas.

  • Si nous cliquons sur la cellule B3, la ligne sera mise en évidence en jaune. Reportez-vous ci-dessous instantané

img6

Ici, vous pouvez voir la barre de formule montre la cellule sélectionnée, c’est-à-dire la cellule B3.De cette façon, vous pouvez mettre en évidence les lignes d’un seul clic et filtrer les données en fonction de la sélection de la cellule à l’aide du code VBA.