Calcul des cellules en fonction de la couleur de remplissage

Bonjour à tous

Merci pour toutes les fiches pratiques disponibles sur le site.

Je me permets une petite question car là, je sèche vraiment.

Mon collègue travaille sur trois services et il remplit toutes les semaines le tableau joint pour qu'à la fin du mois, on puisse connaître son pourcentage de présence sur chaque service.

Je voulais programmer la feuille pour que ça calcule à la fin de chaque semaine/mois et ensuite année le nombre d'heures qu'il a passé par service, et que j'en fasse des pourcentages.

Chaque service est représenté par une couleur de remplissage (rouge, vert et orange). J'arrive à programmer les calculs lorsqu'il y a des chiffres ou des mots spécifiques contenus dans la cellule mais est-ce possible avec la couleur de remplissage?

J'espère que c'est assez clair.

Merci beaucoup pour votre aide.

A bientôt

78calcul-h.xlsx (11.27 Ko)

Bonjour

Tu trouveras une partie de ton bonheur ...https://cellulexcel.blogspot.fr/p/somme.html

Merci beaucoup de ta réponse.

J'ai l'impression que cela vaut si ta cellule contient des chiffres, il te fait le calcul des chiffres contenus dans la cellule rouge. Je souhaitais compter le nombre de cellules oranges sur ma semaine par exemple, pareil pour le violet et le rouge, indépendamment de ce qu'elle contient.

Bonjour,

Tu as juste une adaptation à faire (ou tu cherches une fonction qui dénombre au lieu de sommer...), mais il serait peut-être plus judicieux de mettre un modèle de ce à quoi tu veux l'appliquer, et préciser si tu souhaites procéder par couleur étalon (on indique une cellule témoin pour la couleur en argument), ou couleurs prédéfinies dans la fonction elle-même, ou (ça rejoint l'étalon) couleur de la cellule ou l'on met la formule, etc.

Cordialement.

Merci MFerrand.

Je remets ma pièce jointe avec les calculs que j'ai fait à la main pour te montrer ce que je souhaiterais au final.

Tu as également l'usage de la somme pour totaliser mensuellement...

Function NBCOUL(plage As Range)
    Dim c As Range, coul As Long, n
    Application.Volatile
    coul = Application.Caller.Interior.Color
    For Each c In plage
        If c.Interior.Color = coul Then n = n + 1
    Next c
    NBCOUL = n
End Function

Function SOMMECOUL(plage As Range)
    Dim c As Range, coul As Long, tot
    Application.Volatile
    coul = Application.Caller.Interior.Color
    For Each c In plage
        If c.Interior.Color = coul Then
            If IsNumeric(c.Value) Then tot = tot + c.Value
        End If
    Next c
    SOMMECOUL = tot
End Function

Cordialement.

NB- La couleur cherchée est celle de la cellule où tu mets la formule.

Bonjour

Merci beaucoup pour vos réponses et merci MFerrand pour la formule. J'ai tout compris

Bonne semaine à vous

CClaire44 a écrit :

J'ai tout compris

Ça, ce sera l'essentiel !

Bonne semaine également.

Rechercher des sujets similaires à "calcul fonction couleur remplissage"