Vous pouvez utiliser le SpecialCells(xlCellTypeVisible)
pour obtenir les lignes filtrées:
Dim Tbl As Range
Set Tbl = ActiveSheet.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
' for DEBUG onlu
Debug.Print Tbl.Address
Modifier 1: code complet
Option Explicit
Sub VarfiltRange()
Dim BasketCostFiltRng As Range
Dim LastRow As Long
Dim VarRes As Double
With Worksheets("Sheet1") '< -- modift "Sheet1" to your sheet's name
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
' get only the filteres rows in column D
Set BasketCostFiltRng = .Range("D2:D" & LastRow).SpecialCells(xlCellTypeVisible)
' get the variance of only visible cells in Column "D" (after you filter to show only 1100 and 1112 in column "A")
VarRes = WorksheetFunction.Var(BasketCostFiltRng)
MsgBox VarRes
End With
End Sub
Ok et maintenant j'ai objet qui contient toutes les informations de ce cellules, comment je peux obtenir la valeur? J'ai besoin de ces données pour calculer la variance de chaque mois. –
@KamilZawistowski Vous pouvez le lire dans un tableau, mais pour cela, vous devez partager vos données de feuilles de calcul, afin que nous puissions mieux comprendre –
drive.google.com/open?id=0B5PmrbRk4Uarai1fQk9SLWNrb1U là vous avez un exemple de classeur. Disons que je veux le client de filer non. 1126 et 1100 dans la feuille de calcul "Zakupy" et ensuite je veux calculer la variance du coût du panier. –