Somme avec mise en forme

Bonjour,

Il s’embrelait que j'ai un problème sur ma VBA, Je voudrais faire des sommes en fonction de mise en forme (non conditionnelle)

Dans la colonne prévisionnel je ne voudrait avoir que les cellule remplies. cela fonctionne or ça ne me prend pas les chiffre après la virgule ou du moins ça m'arrondi le résultat se qui fausse mes calcul par la suite. Pouvez-vous m'aider?

Function sommeCouleurs(plageC As Range, cellule As Range, Optional PlageS As Variant) As Long

Application.Volatile

Dim chaqueCelluleC As Range: Dim chaqueCelluleS As Range

sommeCouleurs = 0

If (IsMissing(PlageS)) Then

For Each chaqueCelluleC In plageC

If (chaqueCelluleC.Interior.ColorIndex = cellule.Interior.ColorIndex) Then

sommeCouleurs = sommeCouleurs + chaqueCelluleC.Value

End If

Next chaqueCelluleC

Else

For Each chaqueCelluleC In plageC

If (chaqueCelluleC.Interior.ColorIndex = cellule.Interior.ColorIndex) Then

For Each chaqueCelluleS In PlageS

If (chaqueCellulesS.Row = chaqueCelluleC.Row) Then

sommeCouleurs = sommeCouleurs + chaqueCelluleS.Value

End If

Next chaqueCelluleS

End If

Next chaqueCelluleC

End If

End Function

Merci D'avance

Bonjour,

La fonction est déclarée pour retourner un entier long !!

Function sommeCouleurs(plageC As Range, cellule As Range, Optional PlageS As Variant) As Long

donc la somme est bien calculée (?) mais retournée en entier !

passer la déclaration de la fonction à : Currency

A+

Merci beaucoup pour ton retour!!!

Rechercher des sujets similaires à "somme mise forme"