Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

récup du nb d'enregistrement d'un filtre

  • Initiateur de la discussion Initiateur de la discussion _RV
  • 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 !

R

_RV

Guest
salut tout le monde,

je suis sur une macro qui devrait me servir à compter certaines données... sauf que voilà, j'arrive à coder les filtres tout ca, et je vois bien qu'en bas à gauche, excel me dit combien il y a d'enregistrement suite à mes filtres, ce nombre m'intéresse grandement et il faudrait que je le récupère, j'ai essayé un code du type:

i = Selection.AutoFilter.Filters.Count

mais ca ne marche pas, qqun saurait-il m'aider??

merci beaucoup

Hervé.
 
Salut RV

Il ya une formule (SOUS.TOTAL) qui te permet de faire cela, mais c'est une formule et je ne connais pas l'équivalent macro.

Tu peux peut-être mettre cette formule dans une cellule et en récupérer la valeur ?

Cordialement [file name=filtre et sous total_20050429110801.zip size=2039]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/filtre et sous total_20050429110801.zip[/file]
 

Pièces jointes

Salut RV,

j'ai déjà eu le tour et j'ai pu m'en tirer en utilisant l'équivalent VBA de la fonction sous.total soit :
NbrLignes = Application.Subtotal(3, [A:A]) - 1 ou A est la colonne qui contient à chaque fois une donnée afin que le nombre retenu corresponde bien au nombre de ligne filtrées.

Il y a une deuxième solution que j'ai vu sans trop maitriser :

Dim Destination As Range

'Définis ta plage où sera copiée les données.
'si même feuille oublis 'Sheets' seulement Range(??)
Dim MaPlage As Range

'représente les données filtrées et les titres.
NbrLignes = ActiveSheet.AutoFilter.Range.Rows.Count
Set MaPlage = ActiveSheet.AutoFilter.Range
'représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1, MaPlage.Columns.Count)
NbrLignes = MaPlage.Rows.Count
Bon Courage,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…