AutoFilter function en VBA avec que des variables

Carnage029

XLDnaute Occasionnel
Hello tout le monde :)


Je suis en train d'essayer de creer une fonction vba pour aller plus vite (et plus simplement) que des sumproduct matriciel avec des formules dans les cellules plus longues que mon ecran...

J'avais pense a faire des filtres pour que la formule soit facilement adaptable et simple a transposer sur d'autres donnees.

Le code est le suivant:

Code:
Function FilterAndSum(myrange As Range, sumRange As Range, Optional ByVal myField1 As Variant, Optional ByVal myCriteria1 As Variant, Optional ByVal myField2 As Variant, Optional ByVal myCriteria2 As Variant, Optional ByVal myField3 As Variant, Optional ByVal myCriteria3 As Variant)

    myrange.AutoFilter
    myrange.AutoFilter Field:=myField1, Criteria1:="=" & myCriteria1
    myrange.AutoFilter Field:=myField2, Criteria1:="=" & myCriteria2
    myrange.AutoFilter Field:=myField3, Criteria1:="=" & myCriteria3

mysum = Sum_Visible_Cells(sumRange)

FilterAndSum = mysum

End Function

Function Sum_Visible_Cells(Cells_To_Sum As Object)
    Application.Volatile
    For Each cell In Cells_To_Sum
        If cell.Rows.Hidden = False Then
            If cell.Columns.Hidden = False Then
                Total = Total + cell.Value
            End If
        End If
    Next
    Sum_Visible_Cells = Total
End Function


Pourtant ca ne fonctionne pas :( ca me fait pas les differents tris comme il le faut :(

Thanks a lot a vous
 

Discussions similaires

Réponses
19
Affichages
2 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 545
Messages
2 089 453
Membres
104 169
dernier inscrit
alain_geremy