A voir également:
- Lister les critères actifs
- Ordre des contacts actifs sur messenger - Forum Facebook Messenger
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Il n'existe pas de colis pour ces critères de recherche - Forum Consommation & Internet
- Lister les disques cmd ✓ - Forum Windows
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
1 réponse
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
Modifié le 12 août 2018 à 10:58
Modifié le 12 août 2018 à 10:58
Bonjour,
Tu dois pouvoir utiliser une fonction de ce genre
Et pour l'utiliser...
Tu dois pouvoir utiliser une fonction de ce genre
' r = plage de cellules à vérifier (si le titre de tes colonnes filtrées se trouve en A1:E1 par exemple) Function getFilters(r As Range) As String Dim Sh as WorkSheet Dim strFiltres as String Set Sh = ActiveSheet strFiltres = "" 'Si le mode "filtre" est activé sur la feuille If Sh.FilterMode Then 'On boucle sur les filtres pour voir ceux qui sont actifs For i = 1 To Sh.AutoFilter.Filters.Count If Sh.AutoFilter.Filters(i).On Then strFiltres = strFiltres & r(i).Value & ", " End If Next i 'On supprime la dernière virgule strFiltres = Left(strFiltres, Len(strFiltres) - 2) End If 'on retourne le resultat getFilters = strFiltres End Function
Et pour l'utiliser...
listeFiltres = getFilters(Range("A1:E1"))
12 août 2018 à 12:19
Merci beaucoup pour cette prompte réponse.
Je ne suis malheureusement qu'un bricoleur sur VBA, je n'ai donc sans doute pas toutes les connaissances nécessaires à la bonne application de votre solution. Je vous prie de m'excuser pour cela.
Voilà ce que j'ai fait:
J'ai créé un module pour y coller votre fonction.
Puis j'ai appelé cette fonction dans mon code ainsi:
MsgBox listeFiltres = getFilters(Range("A1:Z1"))
Le message renvoyé est ou "Faux" ou "Vrai, selon que, respectivement, mon tableau est filtré ou non.
Merci encore pour votre aide. Bien à vous.
Celio
12 août 2018 à 12:34
12 août 2018 à 12:52
Première partie résolue.
Le critère filtrant est-il aussi affichable selon vous?
Si je reprends mon exemple, le résultat renvoyé est actuellement:
Colonne 1, Colonne 6
Peut-on obtenir:
Colonne 1, critère filtrant "JAUNE"
Colonne 6, critère filtrant "CAMION"
(A noter que plusieurs critères peuvent filtrer la Colonne 1 (Exemple: "JAUNE", mais aussi "BLEU")).
Encore merci pour votre aide. C'est la classe, je n'avais rien trouvé jusqu'ici.
Celio