puppets a écrit :
Bonjour
Non ce n'est pas ce problème : les cellules sont déjà configurées en 2 décimales.
Le problème vient du fait que sur une cellule donnée, j'additionne plusieurs fois la macro qui a été donnée (NBColor), car je l'applique sur plusieurs feuilles.
Et à chaque fois, elle arrondi la somme obtenue... Ce qui fait qu'au final, j'ai un écart de quelques centimes avec la réalité.
Bonjour puppets,
Si c'est le code de maître Mytå que vous utlisez avec la permissions du performer, pouvez-vous essayer ce qui suit.
si cela correspond à votre demande ce sera parfait, dans le cas contraire désolé car comme vous le savez il est toujours difficile de retoucher une oeuvre qui reflète le talent du concepteur:
Function SommeSiCouleur(Plage As Range, NumeroDeCouleur%) As Long
Application.Volatile True
Dim wCell As Range
For Each wCell In Plage
If wCell.Interior.ColorIndex = NumeroDeCouleur Then
SommeSiCouleur = Cdec(SommeSiCouleur + wCell.Value)
End If
Next
End Function
Function SumByColor(PlageEntree As Range, CouleurPlage As Range) As Double
Dim Cell As Range, TempSum As Double, ColorIndex As Integer
Application.Volatile
ColorIndex = CouleurPlage.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next
For Each Cell In PlageEntree.Cells
If Cell.Formula < > "" Then
If Cell.Interior.ColorIndex = ColorIndex Then TempSum = Cdec(TempSum + _
Cell.Value)
End If
Next Cell
On Error GoTo 0
Set Cell = Nothing
SumByColor = Cdec(TempSum)
End Function
Cdt
Air_2