Afficher/masquer lignes via des boutons ActiveX

Bonjour à tous,

Je suis novice en programmation/VBA et je vous sollicite car j'aurais besoin d'aide sur le fichier joint :

Je cherche via des boutons à masquer/réafficher des lignes en fonction de boutons ActiveX.

Lorsque je coche les boutons, les bonnes lignes sont masquées. Mais dès lors je les décoche, certaines lignes, qui ne devraient pas, sont réaffichées.

Ex : Bouton Contrat coché : Ligne 11 à 15 masquées ;

Bouton Support cochée : Ligne 26 masquée. En décochant Support (et le bouton Contrat toujours cochée), les lignes 11 et 15 ne sont plus masquées.

En réexécutant le programme, cela fonctionne. Comment faire pour que le programme s'exécute à chaque click de bouton ?

Ou dois-je revoir le programme et les boucles IF ?

Merci d'avance pour votre aide,

21classeur1-aide.xlsm (26.60 Ko)

Bonjour Harris350, le forum,

Un essai avec des filtres.....à tester...

Option Explicit

Private Sub Contrat_Click()
  With Sheets("Feuil1").Range("A5").CurrentRegion
   If Contrat = True Then
    .AutoFilter Field:=3, Criteria1:="Contrat"
   Else
    .AutoFilter Field:=3
   End If
  End With
End Sub

Private Sub sanscontrat_Click()
 With Sheets("Feuil1").Range("A5").CurrentRegion
   If sanscontrat = True Then
    .AutoFilter Field:=3, Criteria1:="sanscontrat"
   Else
    .AutoFilter Field:=3
   End If
  End With
End Sub

Private Sub support_Click()
 With Sheets("Feuil1").Range("A5").CurrentRegion
   If support = True Then
    .AutoFilter Field:=4, Criteria1:="Support"
   Else
    .AutoFilter Field:=4
   End If
  End With
End Sub

Cordialement,

Bonjour xorsankukai,

Merci beaucoup pour ta réponse. J'ai vu que tu t'appuyais sur ce qui était complété dans les colonnes M1 et M2 mais dans mon fichier initial, ces colonnes sont vides. Je les ai complété juste pour qu'on puisse s'y retrouver.

S'il n'y a pas d'autres solutions, je complèterais ces colonnes, qui facilitent la définition de la boucle If.

Merci à toi

Rechercher des sujets similaires à "afficher masquer lignes via boutons activex"