Somme des cellules colorés
lalalolo
-
Raymond PENTIER Messages postés 71870 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 71870 Date d'inscription Statut Contributeur Dernière intervention -
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?
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?
A voir également:
- Somme des cellules colorés
- Somme de plusieurs cellules excel - Guide
- Verrouiller des cellules excel - Guide
- Excel somme si couleur cellule - Guide
- Colorer des cellules excel sous condition - Guide
- Somme en anglais excel - Guide
6 réponses
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
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
Bonsoir,
voici une fonction à coller dans un module :
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
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
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.
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.
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).
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).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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.
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.