Calcul de cellules sur Excel
Alphe56
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
m@rina Messages postés 23902 Date d'inscription Statut Contributeur Dernière intervention -
m@rina Messages postés 23902 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un soucis sur Excel. J'aimerais savoir si il existe un moyen de compter le nombre de cellules d'une certaine couleur présente sur une ligne
(exemple si par hasard je me suis mal exprimé: dans une ligne, j'ai 4 cellules de couleur rouge et 2 cellules de couleur verte. J'aimerais avoir la possibilité qu'en bout de ligne, Excel m'indique: il y'a 4 cellules rouges et 2 cellules vertes)
Merci à tous ceux qui m'apporteront une aide et aussi à tous les autres.
Alphe
J'ai un soucis sur Excel. J'aimerais savoir si il existe un moyen de compter le nombre de cellules d'une certaine couleur présente sur une ligne
(exemple si par hasard je me suis mal exprimé: dans une ligne, j'ai 4 cellules de couleur rouge et 2 cellules de couleur verte. J'aimerais avoir la possibilité qu'en bout de ligne, Excel m'indique: il y'a 4 cellules rouges et 2 cellules vertes)
Merci à tous ceux qui m'apporteront une aide et aussi à tous les autres.
Alphe
A voir également:
- Calcul de cellules sur Excel
- Comment calculer la moyenne sur excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Verrouiller cellules excel - Guide
- Word et excel gratuit - Guide
5 réponses
Bonjour,
La solution qui passe forcément par une macro est ici :
http://excelabo.net/excel/formatsdiv.php#additionrouge
m@rina
La solution qui passe forcément par une macro est ici :
http://excelabo.net/excel/formatsdiv.php#additionrouge
m@rina
Re...
Dans la macro, on utilise "ActiveSheet.UsedRange" pour spécifier toutes les cellules utilisées de la feuille active.
Mais bien entendu, tu peux changer en mettant ta propre plage :
ActiveSheet.Range("A1:A10")
Cette macro est un exemple qui affiche un message sur le nombre de cellules rouges. On pourrait faire une fonction :
Function nbcouleur(maplage As Range, Couleur As String)
Select Case Couleur
Case "rouge"
Couleur = 3
Case "vert"
Couleur = 50
'on peut ajouter d'autres couleurs
End Select
For Each cell In maplage
If cell.Interior.ColorIndex = Couleur Then nombre = nombre + 1
Next
nbcouleur = nombre
End Function
Tu copies-colles cette fonction dans un module et ensuite, tu pourras utiliser une formule dans ta feuille de calcul pour compter le nombre de cellules rouges ou vertes (tu peux ajouter d'autres couleurs dans la fonction) :
=nbcouleur(A1:A10;"rouge")
=nbcouleur(A1:A10;"vert")
Mettre à jour les calcul avec F9 en cas de changement de couleurs.
m@rina
Dans la macro, on utilise "ActiveSheet.UsedRange" pour spécifier toutes les cellules utilisées de la feuille active.
Mais bien entendu, tu peux changer en mettant ta propre plage :
ActiveSheet.Range("A1:A10")
Cette macro est un exemple qui affiche un message sur le nombre de cellules rouges. On pourrait faire une fonction :
Function nbcouleur(maplage As Range, Couleur As String)
Select Case Couleur
Case "rouge"
Couleur = 3
Case "vert"
Couleur = 50
'on peut ajouter d'autres couleurs
End Select
For Each cell In maplage
If cell.Interior.ColorIndex = Couleur Then nombre = nombre + 1
Next
nbcouleur = nombre
End Function
Tu copies-colles cette fonction dans un module et ensuite, tu pourras utiliser une formule dans ta feuille de calcul pour compter le nombre de cellules rouges ou vertes (tu peux ajouter d'autres couleurs dans la fonction) :
=nbcouleur(A1:A10;"rouge")
=nbcouleur(A1:A10;"vert")
Mettre à jour les calcul avec F9 en cas de changement de couleurs.
m@rina
Il existe une méthode très simple, et qui ne fait pas appel aux macros, qui consiste à obtenir les couleurs (3 couleurs maximum plus la couleur par défaut jusqu'à la version 2003 de Word) en tapant R, B ou V dans les cellules et en employant la mise en forme conditionnelle pour qu'elles se colorent en rouge, bleu et vert. Il suffit ensuite d'utiliser la fonction NB.SI pour compter le nombre de cellules contenant chacune de ces lettres ...
J'ai une question:
Dans la macro suivante, il affiche un message avec le nombre de cellule de la couleur indiquée
Sub inventaireRouge()
sommeRouge = 0
compterRouge = 0
For Each cell In ActiveSheet.Range("A4:EX4")
If cell.Interior.Color = vbRed Then
On Error Resume Next
sommeRouge = sommeRouge + cell.Value
On Error GoTo 0
compterRouge = compterRouge + 1
End If
Next
If compterRouge = 1 Then c = "cellule" Else c = "cellules"
MsgBox compterRouge & " " & c & " -- Total = " & sommeRouge
End Sub
Je souhaiterais savoir sil y'avait la possibilité de supprimer la boite de message et d'indiquer dans une cellule d'une feuille différente, la somme trouvée.
merci beaucoup
Dans la macro suivante, il affiche un message avec le nombre de cellule de la couleur indiquée
Sub inventaireRouge()
sommeRouge = 0
compterRouge = 0
For Each cell In ActiveSheet.Range("A4:EX4")
If cell.Interior.Color = vbRed Then
On Error Resume Next
sommeRouge = sommeRouge + cell.Value
On Error GoTo 0
compterRouge = compterRouge + 1
End If
Next
If compterRouge = 1 Then c = "cellule" Else c = "cellules"
MsgBox compterRouge & " " & c & " -- Total = " & sommeRouge
End Sub
Je souhaiterais savoir sil y'avait la possibilité de supprimer la boite de message et d'indiquer dans une cellule d'une feuille différente, la somme trouvée.
merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Tu peux également utiliser ce code pour afficher le compteur dans une cellule
Sub Compte_Cellule_Couleur()
pc = 1 'colonne A première colonne du tableau
dc = 154 'colonne D dernière colonne du tableau
pl = 4 'ligne 4 première ligne du tableau
dl = 4 'ligne 4 dernière ligne du tableau, ce qui correspond de la cellule A4 à la cellule EX4
Range("G20") = 0 'cellule compteur
dest = "G20" ' cellule où doit s'inscrire le nombre de cellules de couleur
ccoul = 3 ' code de la couleur Ou faire référence à une cellule contenant le code couleur 'ccoul = Range("F2")
ncel = 0 'affichage 0 si aucune couleur trouvée
For c = pc To dc
For l = pl To dl
If Cells(l, c).Interior.ColorIndex = ccoul Then ncel = ncel + 1
Next l, c
Range(dest) = ncel
End Sub
Tu peux également utiliser ce code pour afficher le compteur dans une cellule
Sub Compte_Cellule_Couleur()
pc = 1 'colonne A première colonne du tableau
dc = 154 'colonne D dernière colonne du tableau
pl = 4 'ligne 4 première ligne du tableau
dl = 4 'ligne 4 dernière ligne du tableau, ce qui correspond de la cellule A4 à la cellule EX4
Range("G20") = 0 'cellule compteur
dest = "G20" ' cellule où doit s'inscrire le nombre de cellules de couleur
ccoul = 3 ' code de la couleur Ou faire référence à une cellule contenant le code couleur 'ccoul = Range("F2")
ncel = 0 'affichage 0 si aucune couleur trouvée
For c = pc To dc
For l = pl To dl
If Cells(l, c).Interior.ColorIndex = ccoul Then ncel = ncel + 1
Next l, c
Range(dest) = ncel
End Sub
Merci d'avance