Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 27/12/2007, 12h37   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2006
Messages: 23
Question Obtenir les informations sur l'état du filtre

Bonjour à tous,

Je voudrais savoir s'il est possible d'obtenir dans des cellules l'état du filtre automatique.

J'ai joint un fichier exemple.
Je souhaiterais que dans les case jaune de la feuill2 apparaissent les valeurs choisies pour le filtre du registre feuill1.

Vous remerciant de m'avoir lu,
J'espere que cela est possible ....

Christophe
Fichiers attachés
Type de fichier : zip Essail.zip (4,5 Ko, 101 affichages)
krystof_ii est déconnecté   Réponse avec citation
ANNONCES
Vieux 27/12/2007, 14h49   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Tibo
 
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 851
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonjour,

Sous réserve d'avoir compris ton souhait, regarde ce lien :

http://www.excel-downloads.com/forum...tomatique.html

Comporte des solutions pour extraire la 1ère puis la 2ème puis la nième valeur filtrée

Je te laisse regarder et analyser

@+
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent
Amitiés Xldiennes
XLD vous a aidé, n'hésitez pas à aider XLD
Tibo est déconnecté   Réponse avec citation
Vieux 27/12/2007, 15h23   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2006
Messages: 23
Par défaut Re : Obtenir les informations sur l'état du filtre

En fait pas vraiment ...
Ce que je souhaite (dans mon fichier exemple), c'est que chaque champs de la feuill2 (en-tete identique à la feuill1) reprenne les critères du filtre employé.

Encore merci,
Christophe,
krystof_ii est déconnecté   Réponse avec citation
Vieux 27/12/2007, 16h22   #4 (permalink)
XLDnaute Impliqué
 
Avatar de TheLio
 
Date d'inscription: juin 2007
Localisation: La Tour-de-Peilz Suisse
Version Excel : Excel 2007 (PC)
Messages: 598
Envoyer un message via MSN à TheLio
Par défaut Re : Obtenir les informations sur l'état du filtre

Salut l'forum,Tibo, krystof_ii,

La proposition faite par Tibo est tout a fait adaptée à ton cas.
Sinon, je pense qu'il faudra passer par du VBA.
Est-ce ce que tu souhaites?

A++

TheLio
__________________
La politesse fait paraître l'homme au dehors comme il devrait être intérieurement. [Jean de La Bruyère]
Toi aussi, deviens un/une: Supporter ou supporteur,(trice)
. . . . . . (cliques là )
Clique sur "Mon zOOOooo avec 4 poiSSons"
TheLio est déconnecté   Réponse avec citation
Vieux 27/12/2007, 17h02   #5 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Localisation: Saint-Brieuc
Version Excel : Excel XP (PC)
Messages: 5 838
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonjour,

Un essai

Un formule qui renvoie la 1ère valeur visible
puis la 2ème valeur visible différente de la 1ère
S'il n'y a pas de 2ème valeur différente, c'est qu'il y a un filtre (ou qu'il n'y a pas plusieurs valeurs différentes)

Inconvénient : ne prendre qu'un critère de filtre pour chaque plage
Fichiers attachés
Type de fichier : zip SousTotalFiltreKrystof.zip (6,4 Ko, 42 affichages)
Monique est déconnecté   Réponse avec citation
Vieux 27/12/2007, 18h02   #6 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2006
Messages: 23
Par défaut Re : Obtenir les informations sur l'état du filtre

Soluce Tibo :
Effectivement, l'information "existe-t-il plusieurs valeurs dans la colonne" pourrait m'indiquer si un filtre "valeur unique" est activé.
Mais un filtre peut également etre "inferieur ou égal à" et dans ce cas plusieurs valeurs peuvent exister.
Donc cette proposition n'est pas suffisante : il me faudrait également les critères du filtre.

Par contre, s'il faut passer par du vba, je ne suis pas contre ... mais quel 'vocabulaire ?

Christophe

Dernière modification par krystof_ii ; 27/12/2007 à 18h14.
krystof_ii est déconnecté   Réponse avec citation
Vieux 28/12/2007, 00h49   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de myDearFriend!
 
Date d'inscription: février 2005
Messages: 2 379
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonsoir krystof_ii, Tibo, TheLio, Monique,

Dans le classeur ci-joint une solution sans doute à paufiner un peu...

Exceptionnellement, j'ai utilisé l'évènement Calculate() de la Feuil2 pour "capter" la modification du filtre et déclencher le traitement (cet évènement Calculate est à éviter autant que possible, mais je n'ai pas su faire autrement).

J'ai utilisé les 2 procédures ci-dessous :
Code:
DANS LE MODULE DE CODE DE LA FEUILLE 2

Option Explicit

Private Sub Worksheet_Calculate()
Static EnCours As Boolean
    If EnCours Then Exit Sub
    EnCours = True
    ValFiltres
    EnCours = False
End Sub
Code:
DANS UN MODULE DE CODE STANDARD

Option Explicit

Sub ValFiltres()
'myDearFriend!  -  www.mdf-xlpages.com
Dim CritFiltres(1 To 3, 1 To 5) As Variant
Dim C As Byte
    With Sheets("Feuil1").AutoFilter
        For C = 1 To 5
            With .Filters(C)
                If .On Then
                    CritFiltres(1, C) = .Criteria1
                    If .Operator Then
                        CritFiltres(2, C) = Choose(.Operator, "Et", "Ou")
                        CritFiltres(3, C) = .Criteria2
                    End If
                End If
            End With
        Next
    End With
    With Sheets("Feuil2")
        .Range("D2:H4").Value = CritFiltres
    End With
End Sub
Seule restriction toutefois : pour les filtres portant des dates, les critères seront exprimés de numéro de série.

Cordialement,
Fichiers attachés
Type de fichier : zip mDF_CritèresFiltres.zip (12,4 Ko, 52 affichages)
__________________
Didier_mDF

www.mdf-xlpages.com
myDearFriend! est déconnecté   Réponse avec citation
Vieux 28/12/2007, 01h53   #8 (permalink)
XLDnaute Barbatruc
 
Avatar de myDearFriend!
 
Date d'inscription: février 2005
Messages: 2 379
Par défaut Re : Obtenir les informations sur l'état du filtre

Re,

Citation:
Envoyé par MyDearFriend!
Exceptionnellement, j'ai utilisé l'évènement Calculate() de la Feuil2 pour "capter" la modification du filtre et déclencher le traitement (cet évènement Calculate est à éviter autant que possible, mais je n'ai pas su faire autrement).
Je viens de trouver une alternative à l'utilisation de cet évènement de feuille Calculate(). Tu en trouveras l'illustration dans le fichier joint.

Dans cet exemple, la procédure évènementielle est remplacée par une Function VBA personnalisée matricielle.
Pour l'appliquer, il suffit de sélectionner la plage "D2:H4" de la Feuil2, de saisir =ValFiltres() dans la barre des formules et de valider le tout par CTRL + SHIFT + ENTREE.

Code:
DANS UN MODULE DE CODE STANDARD

Function ValFiltres() As Variant
'myDearFriend!  -  www.mdf-xlpages.com
Dim CritFiltres(1 To 3, 1 To 5) As String
Dim C As Byte
    Application.Volatile
    With Sheets("Feuil1").AutoFilter
        For C = 1 To 5
            With .Filters(C)
                If .On Then
                    CritFiltres(1, C) = .Criteria1
                    If .Operator Then
                        CritFiltres(2, C) = Choose(.Operator, "Et", "Ou")
                        CritFiltres(3, C) = .Criteria2
                    End If
                End If
            End With
        Next
    End With
    ValFiltres = CritFiltres
End Function
Cordialement,
Fichiers attachés
Type de fichier : zip mDF_CritèresFiltres2.zip (12,6 Ko, 109 affichages)
__________________
Didier_mDF

www.mdf-xlpages.com

Dernière modification par myDearFriend! ; 28/12/2007 à 03h16. Motif: Optimisation du code VBA
myDearFriend! est déconnecté   Réponse avec citation
Vieux 28/12/2007, 11h46   #9 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2006
Messages: 23
Smile Re : Obtenir les informations sur l'état du filtre

Tout simplement : PARFAIT !

myDearFriend!, grace à toi, non seulement cela fonctionne mais en plus j'ai tout le vocabulaire :
Sheets("Feuil1").AutoFilter.Filter(i) correspond donc au filtre (i) de la feuille 1
.on => test si le filtre est actif
.Criteria1 => 1° valeur de filtre
.Criteria2 => 2° valeur du filtre
.Operator => opérande.

Pour ce qui est du pb de la date, en testant le format de la 1°cellule de la colonne correspondante cela devrait se régler.

Par contre, que veut dire application.volatile (quelle est sa fonction ?)

Encore merci à tous !

Et bon bout d'an (comme on dit dans le Sud de la France).
krystof_ii est déconnecté   Réponse avec citation
Vieux 28/12/2007, 12h16   #10 (permalink)
XLDnaute Impliqué
 
Avatar de TheLio
 
Date d'inscription: juin 2007
Localisation: La Tour-de-Peilz Suisse
Version Excel : Excel 2007 (PC)
Messages: 598
Envoyer un message via MSN à TheLio
Par défaut Re : Obtenir les informations sur l'état du filtre

Hello tous,

Citation:
Par contre, que veut dire application.volatile
C'est une expression qui n'est pas fixe, tel que =Aujourdhui() par exemple dans les formules

A++
TheLio
__________________
La politesse fait paraître l'homme au dehors comme il devrait être intérieurement. [Jean de La Bruyère]
Toi aussi, deviens un/une: Supporter ou supporteur,(trice)
. . . . . . (cliques là )
Clique sur "Mon zOOOooo avec 4 poiSSons"
TheLio est déconnecté   Réponse avec citation
Vieux 28/12/2007, 15h00   #11 (permalink)
XLDnaute Barbatruc
 
Avatar de myDearFriend!
 
Date d'inscription: février 2005
Messages: 2 379
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonjour krystof_ii, Tibo, TheLio, Monique, le Forum,

Dans l'éditeur VBE, tu places ton curseur sur le mot Volatile et tu presses sur la touche F1.

L'aide VBA indique : "Cette méthode marque comme volatile une fonction personnalisée. Une fonction volatile doit être recalculée chaque fois qu'un calcul est effectué dans une cellule quelconque de la feuille de calcul. Une fonction non volatile n'est recalculée qu'en cas de changement des variables d'entrée. Cette méthode est sans effet si elle ne se trouve pas à l'intérieur d'une fonction définie par l'utilisateur utilisée pour calculer une cellule de feuille de calcul.

Autrement dit, c'est grâce à cette méthode que l'évènement Calculate() sera "capter" sans même avoir à utiliser la procédure évènementielle correspondante. Chaque fois qu'un calcul est effectué dans une cellule quelconque de la feuille, le recalcul de la fonction personnalisée sera forcé. C'est un élément essentiel qui permet de créer de vraies fonctions personnalisées VBA utilisables dans les feuilles de calcul Excel.

Cordialement,
__________________
Didier_mDF

www.mdf-xlpages.com
myDearFriend! est déconnecté   Réponse avec citation
Vieux 28/12/2007, 20h06   #12 (permalink)
XLDnaute Nouveau
 
Date d'inscription: juillet 2006
Messages: 23
Par défaut Re : Obtenir les informations sur l'état du filtre

Merci à tous (encore une fois) !

A+

Bonne fetes à tous !
krystof_ii est déconnecté   Réponse avec citation
Vieux 01/02/2008, 14h22   #13 (permalink)
XLDnaute Accro
 
Date d'inscription: mars 2005
Messages: 1 379
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonjour à tous

Voici une méthode que je viens de découvrir.
Il utilise les filtres élaborés et une petite macro faite avec l'enregistreur de macros (Faire un choix dans la colonne C de la feuille 2).
Fichiers attachés
Type de fichier : xls Essail par Mj.xls (34,0 Ko, 56 affichages)
__________________
Salutations
Michel

Pour faire facilement vos comptes personnels
http://www.excel-downloads.com/remos...s-MJ-2007.html

Trouvez les couleurs Le JEU

http://www.excel-downloads.com/forum...-couleurs.html

Trouvez le mot

http://www.excel-downloads.com/forum...tml#post572580

Dernière modification par MJ13 ; 01/02/2008 à 16h54.
MJ13 est déconnecté   Réponse avec citation
Vieux 18/04/2008, 13h58   #14 (permalink)
XLDnaute Junior
 
Date d'inscription: juillet 2007
Messages: 52
Par défaut Re : Obtenir les informations sur l'état du filtre

Bonjour à tous,

J'aimerai adapter le fichier de myDearFriend mais je ne sais pas comment m'y prendre.

Il faut deja que je copie la macro dans un module: pas de probleme mais quel champs dois je adapter (le nom de la feuille 1...)

Ensuite dans les formules, dois je modifier qqchose? Quelqu'un pourrait me les expliquer?

Dans l'exemple, cela ne concerne qu'une colonne (la D PERIODE HORAIRE) mais puis je avoir ceci pour plusieurs colonne?

Merci d'avance pour votre aide

Cordialement

Aurelie
@urelie est déconnecté   Réponse avec citation
Vieux 18/04/2008, 14h07   #15 (permalink)
XLDnaute Accro
 
Date d'inscription: mars 2005
Messages: 1 379
Par défaut Re : Obtenir les informations sur l'état du filtre

bonjour

On veut un fichier (et une augmentation)!
__________________
Salutations
Michel

Pour faire facilement vos comptes personnels
http://www.excel-downloads.com/remos...s-MJ-2007.html

Trouvez les couleurs Le JEU

http://www.excel-downloads.com/forum...-couleurs.html

Trouvez le mot

http://www.excel-downloads.com/forum...tml#post572580
MJ13 est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Créer une macro ou autre pour obtenir une liste suite à filtre LELEC Forum Excel 5 12/10/2007 10h54
Comment obtenir la valeur mini d'un filtre ? Guesh Forum Excel 2 22/03/2006 19h44
Comment récupérer les informations d'un filtre automatique ??? lolo Forum Excel Downloads - Archives 2 15/10/2004 00h23
tester l'état d'une imprimante tonio Forum Excel Downloads - Archives 3 16/06/2004 16h03
valeurs a l'etat d'ouverture bruno Forum Excel Downloads - Archives 2 07/04/2003 14h05


Fuseau horaire GMT +2. Il est actuellement 00h39.


(C) 2006 Excel Downloads