Liste filtrée en VBA

Le
Bruno
Bonjour,
J'ai une liste ds une feuille: en A1 entête du CHAMP par exemple NOM, en A
et suivant les valeurs (a aa aaa k kk kk b bb k kk etc)
En VBA je veux récupérer le nombre de lignes qui sont filtrées (en
appliquant le filtre "commence par"):
Set Maplage = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
nombre = Maplage.Rows.Count
Avec a, la variable nombre me renvoie bien 3 (a aa aaa) mais dés que je
choisis une autre valeur c'est tjs 1 qui est renvoyé?
J'ai fait plusieurs tests plusieurs écritures (j'ai lu l'article sur
"excelabo" sur les filtres en VBA
Sub essai()
'ActiveSheet.AutoFilter
'Selection.AutoFilter 'VisibleDropDown:úlse marche mais enleve la fleche
ds une cellule seulement
'ActiveSheet.AutoFilterMode = True OK
'Set Maplage = Sheets(1).AutoFilter.Range
'nombre = Maplage.Rows.Count OK
'ActiveCell.CurrentRegion.Select OK
Set Maplage = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
nombre = Maplage.Rows.Count
'nombre =
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows.Count
MsgBox nombre
End Sub
Qui a une idée?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4567851
Pour calculer le nombre d'enregistrements : 2 façons
de faire que tu peux adapter

MsgBox Application.CountA(Range("A:A").SpecialCells(xlCellTypeVisible)) - 1

MsgBox Application.Subtotal(3, Range("A:A")) - 1


"Bruno" Bonjour,
J'ai une liste ds une feuille: en A1 entête du CHAMP par exemple NOM, en A
et suivant les valeurs (a aa aaa k kk kk b bb k kk etc...)
En VBA je veux récupérer le nombre de lignes qui sont filtrées (en
appliquant le filtre "commence par"):
Set Maplage = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
nombre = Maplage.Rows.Count
Avec a, la variable nombre me renvoie bien 3 (a aa aaa) mais dés que je
choisis une autre valeur c'est tjs 1 qui est renvoyé?
J'ai fait plusieurs tests plusieurs écritures (j'ai lu l'article sur
"excelabo" sur les filtres en VBA...
Sub essai()
'ActiveSheet.AutoFilter
'Selection.AutoFilter 'VisibleDropDown:úlse marche mais enleve la fleche
ds une cellule seulement
'ActiveSheet.AutoFilterMode = True OK
'Set Maplage = Sheets(1).AutoFilter.Range
'nombre = Maplage.Rows.Count OK
'ActiveCell.CurrentRegion.Select OK
Set Maplage = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible)
nombre = Maplage.Rows.Count
'nombre Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows.Count
MsgBox nombre
End Sub
Qui a une idée?
Publicité
Poster une réponse
Anonyme