•>dg62
Test OK pour les deux macros (XL2K13 32bits /W10 64bits)
VB:
Sub Test_A()
Dim LO As ListObject
Set LO = ActiveSheet.ListObjects(1)
LO.DataBodyRange.AutoFilter Field:=4, Criteria1:="F"
sexeF = Application.Subtotal(3, LO.DataBodyRange.Columns(4))
MsgBox sexeF
End Sub
Sub Test_B()
Dim LO As ListObject, fCol&
Set LO = ActiveSheet.ListObjects(1)
LO.DataBodyRange.AutoFilter Field:=4, Criteria1:="M"
fCol = CLng(InputBox("N°col?", "Test", 4))
sexeF = Application.Subtotal(3, LO.DataBodyRange.Columns(fCol))
MsgBox sexeF
End Sub
Une autre pour parier les vlaisirs
(confinement oblige )
VB:
Sub Test_C()
Dim LO As ListObject, fCol, COL$
Set LO = ActiveSheet.ListObjects(1)
LO.DataBodyRange.AutoFilter Field:=4, Criteria1:="M"
COL = LO.DataBodyRange.Columns(4).Address(0, 0)
sexeF = Evaluate("=SUBTOTAL(3," & COL & ")")
MsgBox sexeF
End Sub