Excel, bouton, filtre et moyenne

Résolu
dijkstra Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
aidez moi s'il vs plais
mon problème est le suivant; j'ai une base de données sur excel sur laquelle je veut effectuer un filtre et puis calculer la moyenne , les champs sur lesquels je veut filtrer sont dans une feuil2 de sorte qu'une fois je clique sur un bouton le filtrage se fait automatiquement, cepondant j'ai un message d'erreur qui s'affiche erreur d'execution1004 impossible de lire la propriété subtotal de la classe worksheetfunction

voici mon code
Sub filtrer()
Dim x As Double
For i = 4 To 6
Sheets("Casa-Fès").Activate
Range("A1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=1, Criteria1:=Sheets("feuil2").Cells(i,1).Value
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=2, Criteria1:=Sheets("feuil2").Cells(i, 2).Value
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=3, Criteria1:=Sheets("feuil2").Cells(i, 3).Value
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=4, Criteria1:=Sheets("feuil2").Cells(i, 4).Value
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=6, Criteria1:=Sheets("feuil2").Cells(i, 5).Value
ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=8, Criteria1:=Sheets("feuil2").Cells(i, 6).Value
x = WorksheetFunction.Subtotal(1, Sheets("Casa-Fès").Range("I:I"))
Sheets("feuil2").Select
Cells(i, 7).Value = x
Next i
End Sub



quelqu'un pourrait il m'aider ??
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonsoir Dijkstra, bonsoir le forum,

Peut-être comme ça (non testé) :

Sub filtrer()
Dim I As Byte
Dim x As Double
Dim PL As Range
Dim PLV As Range

Sheets("Casa-Fès").Activate
Set PL = Range("I2:I20945")
For I = 4 To 6
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=1, Criteria1:=Sheets("feuil2").Cells(I, 1).Value
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=2, Criteria1:=Sheets("feuil2").Cells(I, 2).Value
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=3, Criteria1:=Sheets("feuil2").Cells(I, 3).Value
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=4, Criteria1:=Sheets("feuil2").Cells(I, 4).Value
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=6, Criteria1:=Sheets("feuil2").Cells(I, 5).Value
    ActiveSheet.Range("$A$1:$I$20945").AutoFilter Field:=8, Criteria1:=Sheets("feuil2").Cells(I, 6).Value
    'x = WorksheetFunction.Subtotal(1, Sheets("Casa-Fès").Range("I:I"))
    On Error Resume Next
    Set PLV = PL.SpecialCells(xlCellTypeVisible)
    If Err <> 0 Then
        MsgBox "Aucune cellule visible !"
        GoTo suite
    End If
    x = Application.WorksheetFunction.Sum(PLV)
    Sheets("feuil2").Cells(I, 7).Value = x
suite:
Next I
End Sub


Un petit coucou au Maroc cher à mon coeur...
0
1yjw44i
 
merci ThauTheme je vien de tester, ça marche, ci j'ai bien compris ce sont les valeurs qui n'existaient pas qui posaient problème n'est ce pas ?
en tout cas merci bcp :)
le Maroc vous salut aussi ^^
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160 > 1yjw44i
 
En fait je ne sais pas ou ets le problème. Mais comme je ne connaissais pas la fonction Subtotal, je l'ai remplacée la par somme des cellules visibles...
0