Selection size after filter VBA Excel

Résolu/Fermé
BenLyon - 21 nov. 2010 à 19:02
 BenLyon - 22 nov. 2010 à 19:14
Bonjour,

J'ai de bonnes bases de prog mais je débute sur VBA Excel.

Sur un projet, il faut que je récupère le nombre de ligne d'une sélection de cellules APRES avoir contraint un filtre sur ces données.

J'ai essayé la méthode Selection.Rows.Count mais cette dernière ne prend pas en compte mon filtre. Je récupère les dimensions de mon tableau initial sans filtre.

Pour être clair j'ai une liste de références et chacune d'entre elle appartient à une catégorie parmi une douzaine suivant le contenu d'une des cellules. Il faut qu'une fois un filtre appliqué sur ces catégories je compte le nombre de références pour chaque catégorie (donc le nombre de ligne une fois le filtre appliqué pour chaque catégorie).

résumé:
une ligne = 1 référence - 1 description - 1 catégorie
je filtre les catégories
je récupère le nombre de références = nombre de lignes de la selection ("A1"- xlDown) avec le filtre actif

Quelle est la méthode sous VBA pour faire ceci? J'ai pensé en dernier recours à une boucle mais je préférerai m'en passer (gros volume de données à traiter).

Merci d'avance de vos réponses

A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
22 nov. 2010 à 09:04
Salut,
D'après SilkyRoad tu as trois solutions :
1- Range("A1:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Count
2- Feuil1.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count
3- Evaluate("=subtotal(3,A:A)")
Ca te va?
0
Merci! la 2) me va parfaitement!
0