Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste filtrée en VBA

1 réponse
Avatar
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:=False 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?

1 réponse

Avatar
MichDenis
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" a écrit dans le message de news: f3m7ud$b0j$
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?