Somme SI couleur

Résolu/Fermé
AudreyBEAUMARD Messages postés 12 Date d'inscription vendredi 20 juillet 2018 Statut Membre Dernière intervention 30 juillet 2018 - Modifié le 30 juil. 2018 à 10:31
AudreyBEAUMARD Messages postés 12 Date d'inscription vendredi 20 juillet 2018 Statut Membre Dernière intervention 30 juillet 2018 - 30 juil. 2018 à 10:28
Bonjour,

J'ai créé un fichier excel pour la gestion de mes dépenses de chaque mois. En gros j'ai des lignes à remplir avec les montants et j'attribue une couleur à la cellule du prix pour catégoriser les montants (gazole, charges, restau etc). Ensuite pour calculer les montants par catégorie, j'ai trouvé la fonction SOMME_SI_COULEUR suivante sur un forum et elle fonctionne bien.

Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant

Dim Cel As Range
Dim Som As Double

If PlageCouleur.Cells.Count > 1 Then
SOMME_SI_COULEUR = CVErr(xlErrValue)
Exit Function
End If
For Each Cel In PlageSomme
If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel
Next
SOMME_SI_COULEUR = Som
End Function


Donc j'ai une ligne avec toute les couleurs de catégories et j'écris =SOMME_SI_COULEUR(B12:B150;I2)
B12:B150 ets la plage ou je rentre les montants et I2 représente la couleur d'une catégorie.

J'en viens à mon problème: pour toutes mes catégories cela fonctionne bien mais pour les catégories GAZOLE et RESTAU, on dirait que la fonction confond les couleurs alors qu'elles sont différentes.

Pour etre plus claire, quand je rentre un montant et que je colore la ligne en couleur "gazole" ou "restau" la fonction ajoute la somme dans les deux catégories.
C'est comme si SOMME_SI_COULEUR(B12:B150;H2)=SOMME_SI_COULEUR(B12:B150;J2).

Connaissant peu le langage VBA, voyez vous dans la fonction quelque chose qui pourrait expliquer ce soucis ?

Si nécessaire j'essaierai de joindre le fichier.

Merci pour votre aide :)

Audrey.
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
30 juil. 2018 à 10:13
Bonjour
si vous avez une colonne de type où vous entrez RESTAU ou GAZOIL, ce serait peut être
plus simple d'utiliser
SOMME.SI(Colonne type;"RESTAU";colonne montants)
non?
0
AudreyBEAUMARD Messages postés 12 Date d'inscription vendredi 20 juillet 2018 Statut Membre Dernière intervention 30 juillet 2018
30 juil. 2018 à 10:25
Bonjour,

Je rentre les montants les uns en dessous des autres et j'ai des menus déroulants avec des macros qui me trie tout :)
Je vais mettre le fichier en piece jointe ;)
0
AudreyBEAUMARD Messages postés 12 Date d'inscription vendredi 20 juillet 2018 Statut Membre Dernière intervention 30 juillet 2018
Modifié le 30 juil. 2018 à 10:30
https://www.cjoint.com/c/HGEiB1Zb60u

A noter qu'avec moi le mois d'aout démarre au 25/07 :)
0