From: "Eric Jeanne" Newsgroups: microsoft.public.fr.excel Subject: Re: Compter les cellules d'une couleur donné LooranB a demandé comment faire ou quelle fonction utiliser pour qu'une cellule renvoie le nombre de cellule de tel couleur dans une plage donné? Dans le genre pas compliqué : Sub memeCouleur() nbRed = 0 for each Cell In activesheet.Usedrange if Cell.Interior.Color = vbRed then nbRed = nbRed + 1 next msgbox nbRed end Sub En outre, j'ai retrouvé ce code que j'avais écrit en réponse à une question du même genre : retrouver les cellules rouges, donner leur nombre et les adresses puis le contenu des cellules. Sub cellRouge() dim Cell, plageCouleur As range dim tabValeur() As Variant set plageCouleur = Nothing for each Cell In activesheet.Usedrange if Cell.Interior.Color = vbRed then if plageCouleur Is Nothing then set plageCouleur = Cell Else set plageCouleur = Union(plageCouleur, Cell) end if redim preserve tabValeur(plageCouleur.cells.count) tabValeur(plageCouleur.cells.count - 1) = Cell end if next if plageCouleur Is Nothing then msgbox "pas de rouge" Else for n = 1 to plageCouleur.cells.count ch = ch & " " & tabValeur(n - 1) next msgbox plageCouleur.address & " " & plageCouleur.cells.count & " cell." msgbox ch end if end Sub function compteRouge(mycells) application.Volatile true compteRouge= 0 for each cel In mycells if cel.Interior.Color = vbRed then addRed = compteRouge + 1 'compte les cellules next end function Ou une macro : Sub inventaireRouge() sommeRouge = 0 compteRouge = 0 for each cell In activesheet.Usedrange if cell.Interior.Color = vbRed then sommeRouge = sommeRouge + cell. 'additionne les valeurs dans cellules rouges compteRouge = compteRouge + 1 'compte les cellules rouges end if next msgbox compteRouge & " cell. -- total = " & sommeRouge end Sub