derniere colonne filtrée?

  • Initiateur de la discussion Initiateur de la discussion fredl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fredl

XLDnaute Impliqué
Bonjour à tous,
apres recherche en vain dans le forum, je m'en remets à vous... :

J'ai un tableau avec un filtre automatique et 2 colonnes filtrées.
On suppose qu'un utilisateur va faire une selection de filtre dans une 3eme colonne de ce tableau.
Comment récupérer ce N° de colonne par vba?

Merci pour votre aide
Cordialement
Frédéric
 
Re : derniere colonne filtrée?

bonjour, re Philippe,
Code:
Dim r As Range, f As Filter
With ActiveSheet
    If .AutoFilterMode = True Then
        Set r = .AutoFilter.Range
        For i = 1 To .AutoFilter.Filters.Count
            If .AutoFilter.Filters(i).On Then x = r(i).Column
        Next
    End If
End With
MsgBox "la colonne " & x & " est la dernière colonne filtrée de la feuille"
A+
kjin
 
Re : derniere colonne filtrée?

Merci à vous deux pour vos réponses,

Philippe j'ai testé "Target.Column" dans "Private Sub Worksheet_Change", mais cela ne déclanche pas lorque l'on filtre une colonne.
J'ai testé dans "Worksheet_Calculate", cela declanche, mais "v=Target.Column " génère une erreur

Kjin, j'ai testé ton code qui fonctionne (renvoie la derniere colonne filtrée du tableau).
En fait, je me suis mal exprimé dans mon besoin. veuillez m'en excuser.

je souhaite récupérer la derniere colonne qui a été filtrée (ou défiltrée) dans un tableau sachant que d'autres colonnes peuvent etre déjà filtrées (cela peut etre la colonne 1 alors que la 5 et 9 sont déjà filtrées)....
je dois recupérer ici "1" et non "9"

En fait, dans mon projet, selon l'utilisateur, je souhaite interdire la selection de certaines données du filtre d'une colonne donnée...
Pour cela, j'ai besoin de savoir si l'utilisateur filtre ou défiltre cette colonne pour traiter ensuite le droit d'acces...

L'evenement "Worksheet_Calculate" me permet de detecter que l'utilisateur filtre une colonne.
Il me faut alors recuperer le N° de la colonne filtrée (et c'est là que je peche..)pour (si cela concerne celle sur laquelle je veux donner des droits)recuperer le choix de filtre effectué par l'utilisateur et gérer selon besoin...

Pas sûr d'etre clair...

je vous joint un exemple

merci d'avance pour votre aide
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
613
Retour