Case à cocher + filtre

Résolu
pierre64 -  
 pierre64 -
Bonjour,

J'aimerai savoir si il est possible d'activer un filtre quand je coche une case.
Je vous explique le cheminement:
1: coche la case "RETARD"
2: la "Cellule liée3 passe donc sur VRAI
3: j'aimerai alors que le filtre s'active pour ne m'afficher que les 1 dans la colonne et effacé les 0.

Vous comprenez mon problème ?
Merci pour votre aide !

1 réponse

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Il faut affecter une macro à ta case à cocher

    Exemple à adapter à tes besoins :

    https://www.cjoint.com/c/EJiqFXOiqj3

    Cdlmnt
    Via
    0
    1. pierre64
       
      Merci pour ta réponse!
      Bonne journée
      0
    2. pierre64
       
      Rebonjour Via, je ne peux pas télécharger ton fichier.Peut-tu me le retransmettre ? Merci
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > pierre64
         
        Re,

        J'arrive parfaitement à retélécharger le fichier, peut être est ce du au navigateur, apparemment certains ont du mal pour télécharger avec Firefox alors qu'il n'y a pas de souci avec Internet Explorer

        Si malgré tout tu n'arrives pas à télécharger le fichier, voici la macro à mettre dans un module (ALT+F11 pour ouvrir l'éditeur, Insertion - Modules - Copier la macro dans la page - Modifier l'adresse de la cellule liée et de la plage du tableau à filtrer et de la colonne de filtrage - Fermer l'éditeur
        Ensuite Il faut affecter la macro à la case à cocher (Clic droit sur la case - Affecter une macro)
        Sub cocher()
        ' test cellule liée (modifier l'adresse pour l'adapter)
        If Range("A4") <> VRAI Then
        ' filtre le tableau en plage A5:C20 (mofifier l'adresse) en fonction du critère 1 en colonne C (Field=3) A ADAPTER
        ActiveSheet.Range("$A$5:$C$20").AutoFilter Field:=3, Criteria1:="1"
        Else
        'annulation du filtre (Adapter la plage)
        ActiveSheet.Range("$A$5:$C$20").AutoFilter Field:=3
        End If
        End Sub


        Cdlmnt
        Via
        0
    3. pierre64
       
      Très bien !

      Merci beaucoup, bonne journée !
      0