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 :

Un filtre gênant une action de masquer en bouton [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut Un filtre gênant une action de masquer en bouton
    Bonjour a tous !!
    Je vient vous voir car j'ai un petit problème
    qui me turlupine, pour ceux qui m'on déjà vue, mon projet avance^^ grâce a vous.

    Donc je vous explique mon problème :
    Avant toute chose j'ai remarqué que il pouvais y a voir que 1 filtre par page, est-ce que l'on peu contourner ceci ?

    Ensuite donc j'ai plusieurs tableaux dans une feuille
    Dans cette feuilles j'ai mis un bouton de filtre général dont voici sont code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub ToggleButton40_Click()
    ' -_-_-_-_-_-_ FILTRE GENERAL
    Dim actif As Boolean
    actif = ToggleButton40.Value
        If actif Then
            With ToggleButton40
                .Caption = "VISION REDUITE +"
                .Font.Size = 15
                .Font.Bold = True
                Dim plage As Range
                Dim xlWs As Worksheet
                Range("B18:B44", "B670:B680").Select
                Selection.AutoFilter
                Selection.AutoFilter Field:=1, Criteria1:="<>0", Operator:=xlAnd
            End With
        Else
            With ToggleButton40
                .Caption = "VISION GLOBAL -"
                .Font.Size = 15
                .Font.Bold = True
                Range("B18,B670").Select
                Selection.AutoFilter Field:=1
            End With
        End If
        Application.CutCopyMode = False
        Range("O16").Select
    End Sub
    donc ce bouton met un filtre sur tout mes tableaux a la fois, c'est un peu dangereux mais ca marche ^^

    Ensuite j'ai mis une multitude de petit bouton qui servent a réduite les différents tableaux et qui ont un code similaire a celui la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub ToggleButton1_Click()
    ' -_-_-_-_-_-_ DIMINUTION 1
    Dim actif As Boolean
    actif = ToggleButton1.Value
        If actif Then
        'ICI SE SONT LES OPTIONS DU BOUTON QUAND IL EST ENFONCE
            With ToggleButton1
                .BackColor = vbBlack
                .Caption = "+"
                .Font.Size = 15
                .Font.Bold = True
                Range("B18").Select
                Range(Selection, Selection.End(xlDown)).Select
                Selection.EntireRow.Hidden = True
            End With
        Else
        'ICI SE SONT LES OPTIONS DU BOUTON QUAND IL EST NON-ENFONCE
            With ToggleButton1
                .BackColor = vbBlack
                .Caption = "-"
                .Font.Size = 20
                .Font.Bold = True
                Range("B17").Select
                Range(Selection, Selection.End(xlDown)).Select
                Selection.EntireRow.Hidden = False
            End With
        End If
        Application.CutCopyMode = False
        Range("O16").Select
    End Sub
    Et enfaite quand mon premier bouton (celui du filtre) est actif et que j'appuie sur les autres petit (diminution) et bas mes tableaux disparaisse ainsi que les boutons, mais je sais pourquoi.
    (c'est a cause des tableaux dynamique, a cause du Ctrl + Shift + fleche du bas)

    Mais je voudrait y remédier, et je sais pas du tout comment faire pour que quand j'appuie(j'active) le bouton de diminution, celui du filtre se désactive

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Salut,
    pas sûr d'avoir tout compris ;-)

    mais ToggleButton40.enable = false
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    oui c'est normal que tu es pas tout compris ^^
    comme je suis un peu novice en VB je ne nomme pas les choses par leur vrai nom ^^
    mais j'ai trouvé ^^ rien de tel que le MsgBox pour te dire ce que tu recherche ^^

    moi j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If ToggleButton40.Value = True Then
                    With ToggleButton40
                        .Caption = "VISION GLOBAL -"
                        .Font.Size = 15
                        .Font.Bold = True
                        Range("B18,B670").Select
                        Macro5
                    End With
    bon ca fait des copier coller un peu de partout mais ca fonctionne ^^
    après tout tant que le tableur est beau, le vb les gens s'en foute c'est juste pour moi

    Merci quand meme Oliv ^^

    Cordialement

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    bon par contre le VB va être dégelasse
    mais bon pour un novice comme moi je pense que ca va le faire !!

    Et je t'explique mon problème tu ais quand même envie de comprend
    en gros j'ai deux bouton :

    Le premier qui met un filtre sur toooouuuuuut mes tableaux
    Le deuxième qui réduit le premier tableau (bouton réduction)
    (ce sont tout les deux des toogle bouton )

    et quand le filtre est actif et que j'appuie sur l'autre bouton, et bah le programme du bouton de réduction réduit des cellules qui ne devrait pas être réduite, enfin c'est a cause du (Ctrl + Shift + flèche du bas) que j'ai fait en macro

    Et comme les utilisateurs ne sont pas forcement très futfut, il risque de cliqué plein de fois et en gros de masquer tout le classeur ^^ (utilité 0)
    et ce problème ne parvient que quand le filtre est actif donc il me suffi d'enlever le filtre quand ils appuie sur ce bouton..

    voila si tu as pas compris (ce qui est probable vu mon explication) pose moi des questions précises, je serait plus a même d'y répondre

    Cordialement

  5. #5
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par sharox Voir le message
    oui c'est normal que tu es pas tout compris ^^
    comme je suis un peu novice en VB je ne nomme pas les choses par leur vrai nom ^^
    mais j'ai trouvé ^^ rien de tel que le MsgBox pour te dire ce que tu recherche ^^
    non rien de tel que le mode arrêt la fenetre variables et les espions !!
    Citation Envoyé par sharox Voir le message
    moi j'ai utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If ToggleButton40.Value = True Then
                    With ToggleButton40
                        .Caption = "VISION GLOBAL -"
                        .Font.Size = 15
                        .Font.Bold = True
                        Range("B18,B670").Select
                        Macro5
                    End With
    bon ca fait des copier coller un peu de partout mais ca fonctionne ^^
    après tout tant que le tableur est beau, le vb les gens s'en foute c'est juste pour moi

    Merci quand meme Oliv ^^

    Cordialement
    je suppose que ta solution est dans macro5 que tu n'as pas joint ?
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    pas du tout !!
    La solution c'est que j'ai copier une partie du programme du bouton de filtre dans le bouton de rétrécissement

    La macro 5 c'est juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.AutoFilter Field:=1
    que j'avais mis dans mon premier post ^^

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

Discussions similaires

  1. Lancer une action à partir d'un bouton d'un autre layout
    Par zerkos dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 12/02/2013, 00h19
  2. [Débutant] Execution d'une action tant que le bouton est cliqué
    Par Martipit dans le forum VB.NET
    Réponses: 4
    Dernier message: 10/11/2012, 20h14
  3. Filtre dans une action composite
    Par logari dans le forum W4 Express
    Réponses: 2
    Dernier message: 10/11/2011, 16h29
  4. Effectuer une action a chaque clic bouton
    Par atar64 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/07/2007, 17h53
  5. Lancer une action JS depuis un bouton de formulaire
    Par davinout dans le forum Langage
    Réponses: 3
    Dernier message: 14/06/2006, 08h50

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