✅ Comment faire la Somme cellule couleur


#1

Bonjour,
Je suis chargée de faire les plannings pour mon équipe et pour que nos supérieurs puissent vérifier le nombre d’heure travaillée. Même avec le tuto ca correspond pas!
Je souhaitais faire une couleur = un dossier, et donc faire des sommes de cellule de couleur. J’ai regardé sur différents forums mais là je n’y arrive pas du tout j’ai essayé avec nb.si (A1;C31; couleur B6) sous cette forme mais ca ne fonctionne pas !essai planning.xls (48 Ko)

Est ce que quelqu’un peut me montrer pour une couleur?

Merci Merci d’avance !


#2

Bonjour @Ina,

Voici une proposition, ne sachant pas ou mettre les résultats, j’ai créé un petit tableau allant de la cellule “AV5” à “BA28”.
J’ai également neutralisé la macro que tu a mise dans le module 1 et j’y ais ajouté la mienne.
Dans le module 2 j’ai mis une macro “Calculate” associée au bouton “Recalculer” dans la feuille.
A chaque changement de couleur dans une des cellules du tableau “C5:AP28” il faut recalculer le tableau avec le bouton.

Ci-joint ton fichier ==> Ina planning V1.xlsm (28,0 Ko)

Cela convient-il ?

Cordialement.


#3

Bonjour !

Maintenant que j’ai un exemple va falloir que je comprenne !

Car la du coup, comme ce sont des plages d’une heure ca compte 4 cellules ! Je vais me pencher dessus demain pour voir si je comprends !

Merci beaucoup en tout cas !!

Ina


#4

Re @Ina,

Si j’ai bien compris, chaque cellule fait 30 minutes.

Je procéderai comme ceci pour faire les calcules dans le tableau “C5:AP28” avec une légère modification des formules.

J’ai ajouté également un total dans les cellules “AV31:BA31”.

Nouveau fichier ci-joint ==> Ina planning V2.xlsm (27,6 Ko)

Cordialement.

EDIT @DocteurExcel : code VBA dans le message svp


Function NBCOULEURS(plage As Range, cc As Range) As Integer
    Dim clr(), n%, i%, c As Range
    Application.Volatile
    ReDim clr(cc.Cells.Count - 1): i = -1
    For Each c In cc.Cells
        i = i + 1: clr(i) = c.Interior.Color
    Next c
    For Each c In plage
        For i = 0 To UBound(clr)
            If c.Interior.Color = clr(i) Then
                n = n + 1: Exit For
            End If
        Next i
    Next c
    NBCOULEURS = n
End Function


#5

Bonjour,

En fait une cellule fait 1/4h (il y a les horaires sur la première ligne 9-10h etc…) Du coup j’ai besoin de calculer que chaque personne fasse bien 7h dans sa journée (d’ou ma ligne en bout de planning)

mais aussi que nos supérieurs vérifient les heures consacrer sur chaque dossier d’ou les couleurs (chaque couleur correspond à un dossier) avec la mentions “enveloppe semaine”

Si je fais un copier coller pour chaque semaine les formules seront gardées?

Encore merci pour votre aide !

Ina


#6

Bonjour @Ina,

Oups, je n’avais pas mis mes lunettes :eyeglasses: :flushed:

Le fonctionnement de la formule =NBCOULEURS(Plage cellules ; couleur cellule)

J’ai complété le reste du planning avec la même méthode de comptage des cellules selon leurs couleurs.

J’ai également ajouté une semaine en dessous de la première pour l’exemple, pour ce faire j’ai sélectionné toute la plage de la semaine 1 et je l’ais copié en dessous, elle peut-être copiée dans une autre feuille et les formules suivent.

La seule chose qui ne suit pas, c’est le bouton, pour cela soit tu le copie en faisant (Ctrl + clique gauche dans le bouton) puis sur la bordure du bouton, tu fais (clique droit, copier, coller).
Sinon le plus simple est d’appuyer sur F9, c’est exactement la même chose.

Nouveau fichier ci-joint ==> Ina planning V3.xlsm (37,7 Ko)

Cela convient-il ?

Cordialement.


#7

Bonjour bonjour,

Oui du coup j’avais réussi à changer pour les cellules, j’avais capté le truc !
Parfait pour l’addition de cellules de plusieurs couleurs ca je n’arrivais pas hier !

Et l’astuce du F9, fallait juste la connaitre c’est génial !!!

Bon bah j’ai plus qu’à appliquer ce que tu m’as appris ! Vive les objectifs des entretiens individuels lool

Merci énormément pour ton aide !!

Ina


#8

Bonjour @Ina,

Bien, si j’ai pu te rendre service, c’était avec plaisir :wink:

Bon courage pour la suite :wink:

Ce serait sympas de cliquer sur :white_check_mark: pour mettre ce sujet en résolu.

Bonne journée.
Cordialement.