Excel : Bidouillage

B

Bunz

Guest
Voila, lorsque l'on applique un filtre automatique sur une colonne, savez vous s'il existe un moyen (formule ?) de récupérer automatiquement la valeur qui a été choisie dans le filtre ?

Merci par avance.
 
A

andré

Guest
Salut Bunz,

Il est inutile de dedoubler les messages i

<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=105248&t=105214>

Je suis aussi très intéressé par une éventuelle réponse, mais comme il n'y en a pas, il faut en conclure que personne n'a de réponse !

Dis-toi bien que des dizaines, si ce n'est des centaines, de personnes ont lu ta question et attendent comme toi et moi une réposne.

Hélas, il n'y en a pas (encore, espérons-le).

Ândré.
 
Y

Yeahou

Guest
Bonjour Bunz, André, le forum

je n'utilise pas trop le filtre auto mais en cherchant un peu, j'ai trouvé ces codes. Cela vous dépânnera peut être.

Cordialement, A+

ActiveSheet.AutoFilterMode 'renvoie true si autofilter actif
ActiveSheet.AutoFilter.Filters(1).Criteria1 'renvoie la valeur choisie dans le filtre
 
B

Bunz

Guest
Merci yeahou et Monique mais néanmois, bien qu'étant à même de d'affecter telle ou telle valeur au filtre, je n'ai pas ici le résultat "automatiquement".
Il nécessite en effet de lancer une macro or j'aimerais ne pas avoir d'action à faire entre le moment où la valeur du filtre est changée et celui où cette valeur apparait dans une cellule annexe...

Euh Monique, malheureusement ton lien ne passe pas ...

Merci encore à tous
 
M

Monique

Guest
Re

<http://www.excel-downloads.com/html/French/forum/messages/1_73364_73364.htm>
Si ça na passe pas, tu passes par le moteur de recherche :
"nb.si dans un sous total"
de Bigbird
C'est un fil du 25-02-04
 
B

Bunz

Guest
Merci encore Monique pour ton aide mais, hélas, cet exemple nécessite de connaitre toutes les valeurs qui peuvent être présentes dans la liste.
Certes, je n'avais pas préciser ce détail mais la base contenue dans le fichier hébergeant mon "application" est variable et il m'est donc ainsi impossible d'en connaitre les occurrences dans chacune des colonnes.

Je ne joins pas ici mon fichier car je travaille sur des gros volumes et donc avec des fichiers lourds !

Merci infiniment pour votre aide
 
Y

Yeahou

Guest
Bonjour Bunz, André, Monique, le forum

voici une solution fonctionnelle, j'utilise pour mettre à jour un ontime récusif qui donne un résultat satisfaisant, la procédure étant lancée initialement par thisworkbook.open. La valeur en C1 se met à jour toutes les secondes. A l'utilisation, la mise à jour parait instantanée.

Cordialement, A+
 

Pièces jointes

  • filtreauto.zip
    9.9 KB · Affichages: 17
  • filtreauto.zip
    9.9 KB · Affichages: 15
  • filtreauto.zip
    9.9 KB · Affichages: 18
@

@+Thierry

Guest
Bonjour Monique, Ândré, Yeahou, Bunz, le Forum

Je viens de suivre un peu ce fil, oui l'idée de Yeahou n'est pas in-interressante, mais ouf la mise en oeuvre que tu as utilisé... C'est de la grosse artillerie !! lol...

Non, je propose ceci, en plus léger avec deux bugs évité (1 si le classeur actif est un autre, 2 si il y a un filtre mais qu'aucun critère n'est filtré)

Ce qu'il faut simplement c'est mettre par exemple en "IV2" la valeur 1 et en "IV3" la Formule =IV2*2... Puis on peut même masquer cette colonne IV...

En fait on a besoin de cette mini formule pour que l'évènement Calculate puisse fonctionner... (L'Option d'Excel Mode Calcul Paramétrée en Automatique, of course)

Le reste est simple, il suffit de placer ce code dans le Private Module de La Feuille en Question

Private Sub Worksheet_Calculate()
&nbsp;&nbsp;With Me
&nbsp;&nbsp;&nbsp;&nbsp;If .AutoFilterMode Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If .FilterMode = True Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Range("C1").Formula = "'" & .AutoFilter.Filters(1).Criteria1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Range("C1") = "Pas de Filtre actif"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;End With
End Sub

C'est, à mes yeux bien plus simple, le OnTime me parait bien lourd, mais si Bunz s'oriente sur ce choix alors il faut alors penser à optimiser pour éviter les deux Bug avec un Set sur "ThisWorkBook" et un Test sur FilterMode.

Bon Samedi à Tous et Toutes
@+Thierry
 
Y

Yeahou

Guest
Bonjour Thierry

j'avais essayé avec l'événement change mais je n'avais pas réussi à le déclencher sur action sur filtre, je l'avais bien dit que je n'utilisais pas souvent les filtres. Ta méthode est évidemment plus simple.

Cordialement, A+
 

Discussions similaires

Réponses
9
Affichages
550

Statistiques des forums

Discussions
312 500
Messages
2 089 007
Membres
104 003
dernier inscrit
adyady__