Private Sub ToggleButton1_Click() 'au clic sur le bouton bascule
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim x As Long 'déclare la variable x (incrément de boucle)
Range("A1").Select 'enlève le focus au bouton
dl = Range("A65536").End(xlUp).Row 'définit la dernière ligne de la colonne A
Set pl = Range("A2:A" & dl) 'définit la plage des cellules éditées de la colonne A
ToggleButton1.Caption = IIf(ToggleButton1.Value = True, "Afficher Tout", "Filtrer") 'définit la texte du bouton appuyé/lâché
If ToggleButton1.Caption = "Afficher Tout" Then 'condition1 : si le bouton affiche "Afficher Tout"
For x = dl To 1 Step -1 'boucle inversé de la dernière ligne à la ligne 2 de la colonne A
'condition 2 : si le nombre de fois que la valeur de la cellule se repète est supérieur à 5, masque la ligne
If Application.WorksheetFunction.CountIf(pl, Cells(x, 1).Value) > 5 Then Rows(x).Hidden = True
Next x 'prochaine ligne de la plage
Else 'sinon (condition1)
pl.EntireRow.Hidden = False 'affiche toute les ligne de la plage
End If 'fin de la condition 1
End Sub