IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Filtre par Checkbox [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut Filtre par Checkbox
    Bonjour à toutes et à tous,

    J'ai une question pour vous. Voila j'aimerais savoir s'il était possible de filtrer une colonne avec une checkbox. Je m'explique:

    Dans une colonne j'ai deux choix : "Oui" ou "Non".

    J'aimerais en cliquant sur ma checkbox, filtrer ma colonne et afficher que les "Oui" par exemple. Je vous mets mon p'tit bout de code qui, malheureusement ne fonctionne pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If CheckBox1 = True Then ActiveSheet.Range("Z3:Z200").AutoFilter Field:=26, Criteria1:="Oui"
    J'entre ce code dans " Private Sub CheckBox1_Click()"

    Ma checkbox se trouve dans un Userform et c'est là que je crois qu'il y a une erreur.

    Merci d'avance.

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    bonjour,
    essaye plutôt avec l'événement change de la checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CheckBox1_Change()
    If Me.CheckBox1 = True Then
    ActiveSheet.Range("Z3:Z200").AutoFilter Field:=26, Criteria1:="Oui"
    Else
    ActiveSheet.Range("Z3:Z200").AutoFilter Field:=26
    End If
    End Sub
    Ici si checkbox est cochée alors affiche que les "oui" sinon remet le filtre a zéro

  3. #3
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut
    Merci beaucoup, mais j'ai une erreur :

    Erreur d'exécution '1004' :

    La méthode AutoFilter de la classe Range a échoué

    Peut-être qu'il faut ajouter un évènement dans l'UserForm_Initialize() ?

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu appliques la méthode Autofilter à une plage limitée à la colonne Z. Dans cette plage, cette colonne a le numéro 1 et non pas 26.
    Je crois.

    Cordialement,

    PGZ

  5. #5
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    je suis d'accord avec pgz, je pense que Field:=1 au lieu de 26

  6. #6
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Par défaut
    C'est tout à fait ça, c'est bon ça roule.

    Merci beaucoup, les gars !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/07/2006, 11h40
  2. Cumuler des Filtres par Selection en VBA ?
    Par Fredo67 dans le forum Access
    Réponses: 4
    Dernier message: 05/07/2006, 14h00
  3. Envoyer plusieurs états filtrés par mail...
    Par Thierry'' dans le forum IHM
    Réponses: 8
    Dernier message: 20/09/2005, 12h02
  4. Réponses: 3
    Dernier message: 23/02/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo