Rechercher : dans
Par :

Somme des cellules colorés

Dernière réponse le 15 jun 2008 à 06:28:05 lalalolo, le 13 jun 2008 à 15:53:38 
 Signaler ce message aux modérateurs

Bonjour,
J'aimerais dans un planning connaitre le nombre de cellules colorée, sachant qu'une cellule = 0.25 pour connaitre le nombre d'heures faites par jour. Je cherche depuis un moment je n'est pas touver encore, il faut dire que je débute.
Ou si non! si ma cellule est colorée alors ma somme est 0.25.Est possible?

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « somme des cellules colorés » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...

1

Canard007, le 13 jun 2008 à 16:01:08

Salut ,

voila un exemple qui te permet de coloriser une cellule en fonction du contenu.
Sub ColorJour()

Dim cell As Range
For Each cell In Range("C:C")
Select Case cell.Value
Case Is = "Lundi"
cell.Interior.ColorIndex = 0
Case Is = "Mardi"
cell.Interior.ColorIndex = 3
Case Is = "Mercredi"
cell.Interior.ColorIndex = 4
Case Is = "Jeudi"
cell.Interior.ColorIndex = 5
Case Is = "Vendredi"
cell.Interior.ColorIndex = 6
Case Is = "Samedi"
cell.Interior.ColorIndex = 7
Case Is = "Dimanche"
cell.Interior.ColorIndex = 8
End Select
Next
End Sub



tu n'a plus qu'a readapter ton compte pour faire le contraire.
Je te cnseil d'utiliser plutot des if dans ton cas.
if( cell.Interior.ColorIndex = 8 )
je compte


******

Répondre à Canard007

2

eriiic, le 13 jun 2008 à 23:27:15

Bonsoir,

voici une fonction à coller dans un module :

Function nbFondCouleur(plage As Range, modele As Range)
    Dim cel As Range, tot As Long
    Application.Volatile
    For Each cel In plage
        tot = tot + (cel.Interior.ColorIndex = modele.Interior.ColorIndex)
    Next cel
    nbFondCouleur = -tot
End Function

Ensuite utiliser la fonction personnalisée en désignant la plage où compter les cellules colorées, et une cellule modèle de la couleur à tester.
=nbFondCouleur(A1:A8;A1) compte les cellules de la plage A1:A8 dont le fond est de la couleur de la cellule A1.

Par contre un petit soucis, malgré le 'application.volatile' la fonction ne se réévalue pas si le nombre de cellules colorées change, même en forçant un recalcul avec F9... Il faut aller dans la cellule et revalider la fonction.
Peut-être qu'un lecteur aura une solution à ça.
eric

Répondre à eriiic

3

chtilou, le 14 jun 2008 à 01:12:13

Bonsoir.

sachant qu'une cellule = 0.25

Si tu recherches une valeur supérieure à regarde avec ce code.


Sub SupA()
Dim i As Integer
i = 0
Range("a1:a50").Select 'selectionne la plage à vérifier
For Each Cel In Selection
If Cel.Value > Cells(1, 6).Value Then 'si valeur sup à F1
i = i + 1
Cells(2, 6).Value = i 'nb de cellules sup à F1 en F2
End If
Next
End Sub



Ou celui-ci:

Sub SupVal()
Dim i As Integer
i = 0
Range("a1:a50").Select 'selectionne la plage à vérifier
For Each Cel In Selection
If Cel.Value > 0.25 Then 'si valeur sup à 0.25
i = i + 1
Cells(1, 2).Value = i 'nb de cellules sup à 0.25 en A2
End If
Next
End Sub


Cordialement.
Ce qui se conçoit bien s'énonce clairement, alors, n'hésitez pas sur les détails...

Répondre à chtilou

4

Raymond PENTIER, le 14 jun 2008 à 05:27:38

Pour quelqu'un qui débute, tu as de quoi t'amuser, avec les 3 macros qui te sont proposées !
Pourquoi ne pas utiliser le format "Mise en forme conditionnelle",comme je le propose dans l'astuce Créer rapidement un planning de congés simple ? Tu remplaces la lettre c de mon exemple par le chiffre 1, et à la fin de ta ligne tu fais la somme que tu divises par 4 pour obtenir la durée en heures (chaque case représentant un quart d'heure). C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond

Répondre à Raymond PENTIER

5

eriiic, le 14 jun 2008 à 09:53:49

Bonjour canard, chtilou et raymond,

Pour moi il ne veut pas colorer des cellules mais compter les cellules colorées.
C'est moi qui ne comprend rien à ce qu'il veut ou quoi ? :-s

Bon we à tous
eric

Répondre à eriiic

6

Raymond PENTIER, le 14 jun 2008 à 13:51:25

Oui, eriiic, tu as bien compris sa demande.
Je lui propose donc de saisir le chiffre 1 dans les cellules à colorier, ce qui permet :
1) de les colorer automatiquement grâce à la mise en forme conditionnelle
2) de compter ces cellules colorées en faisant une simple addition
3) de calculer la durée en divisant ce nombre par 4 (multiplication par 0,25)
Je trouve que c'est trop simple pour justifier le recours à des macros !
Amicalement. C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond

Répondre à Raymond PENTIER

7

chtilou, le 14 jun 2008 à 20:58:19

sachant qu'une cellule = 0.25

Comment faut t-il le prendre?


Ce qui se conçoit bien s'énonce clairement, alors, n'hésitez­ pas sur les détails...

Répondre à chtilou

8

 Raymond PENTIER, le 15 jun 2008 à 06:28:05

J'ai supposé que chaque case représente le quart d'une journée de travail (pour gérer les demi-journées de travail, le travail à temps partiel, les retards ou absences) et que 4 cases coloriées représentent une journée de travail complète. C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond

Répondre à Raymond PENTIER