Incompatibilité de type lors de la somme d'objets de type range

marida

XLDnaute Nouveau
Bonjour,

j'ai crée une macro qui calcule la somme de la moyenne des lignes visibles après un filtre
mais cela m'affiche une erreur d’incompatibilité de type ,

Voir PJ

merci de bien vouloir m'aider.
 

Pièces jointes

  • Sommerange.xlsm
    17.7 KB · Affichages: 45

jpb388

XLDnaute Accro
Re : Incompatibilité de type lors de la somme d'objets de type range

Bonjour à tous
essayes cela
Code:
Sub sommemoyenne()
Dim somme As Double, plage As Range, ligne As Long
somme = 0
Worksheets(1).[$A$1:$BE$65000].AutoFilter Field:=2, Operator:= _
        xlFilterValues, Criteria1:="=*Saint Jean*"
Set MaPlage = Worksheets(1).UsedRange.SpecialCells(xlCellTypeVisible)
    For ligne = 2 To Range("b" & Rows.Count).End(xlUp).Row
     somme = somme + Worksheets(1).Cells(ligne, 6).Value
    Next
 Worksheets(2).Cells(13, 7).Value = somme / Range("$A$2:$a$27").SpecialCells(xlCellTypeVisible).Count
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Incompatibilité de type lors de la somme d'objets de type range

Bonjour marida, bonjour le forum,

Peut-être comme ça :
Code:
Sub sommemoyenne()
Dim somme As Double
Dim plage As Range
Dim cel As Range

somme = 0
With Worksheets(1)
    .[$A$1:$BE$65000].AutoFilter Field:=2, Criteria1:="Saint Jean*"
    Set MaPlage = .Range("F2:F" & .Cells(Application.Rows.Count, 6).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
End With
For Each cel In MaPlage
    somme = somme + cel.Value
Next
Worksheets(2).Cells(13, 7).Value = somme
End Sub
 

marida

XLDnaute Nouveau
Re : Incompatibilité de type lors de la somme d'objets de type range

Re,

Merci à tous,
je souhaiterais ajouter une autre condition sur une autre colonne telle que vu ci-dessous/



Code:
Sub sommemoyenne()
Dim somme As Double
Dim plage As Range
Dim cel As Range


somme = 0
With Worksheets(1)
    .[$A$1:$BE$65000].AutoFilter Field:=2, Criteria1:="Saint Jean*"
    Set MaPlage = .Range("F2:F" & .Cells(Application.Rows.Count, 6).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
End With
For Each cel In MaPlage
   [COLOR="#FF0000"] If Worksheets(1).Cells(3).Value = "=*08/02/2012*" Then
    somme = somme + cel.Value
    End If[/COLOR]
Next
Worksheets(1).Cells(29, 7).Value = somme
End Sub

je voulais savoir si c'est possible d'ajouter une autre colonne dans Maplage
 

Discussions similaires