comptage cellules coloriées

gerard55

XLDnaute Occasionnel
Bonjour à tous,
Je cherche à additionner des cellules dont l'intérieur est rempli (jaune). A partir du code ci-dessous récupérer sur ce site comment puis-je indiquer une couleur précise et une recherche par colonne avec une réponse par colonne en tête de chaque colonne
Sub Test()
For Each o In Selection
If o.Interior.ColorIndex <> xlNone Then i = i + 1
Next
MsgBox i
End Sub
Merci pour vos propositions
a+
 

Modeste

XLDnaute Barbatruc
Re : comptage cellules coloriées

Bonjour gerard55, le forum,

Si tu colores la cellule C1 de ta feuille, et que tu modifies le code comme suit:
VB:
Sub Test()
For Each o In Selection
If o.Interior.ColorIndex = [C1].Interior.ColorIndex Then i = i + 1
Next
MsgBox i
End Sub
la macro comptera le nombre de cellules dont la couleur de remplissage est identique à celle de C1

Pour ta question relative aux colonnes, il faudrait que tu sois plus précis ... ou, mieux encore, que tu nous déposes un exemple de ce que tu as et ce que tu voudrais.
 

Softmama

XLDnaute Accro
Re : comptage cellules coloriées

Ce code plus élégant, se passe de la cellule C1 et te laisse choisir la couleur que tu veux dans une boite de dialogue:

Code:
Sub Test()
With ActiveCell.Interior
    ex = .ColorIndex
    Application.Dialogs(xlDialogPatterns).Show
    Couleurchoisie = .ColorIndex
    .ColorIndex = ex
End With

For Each o In Selection
If o.Interior.ColorIndex = Couleurchoisie Then i = i + 1
Next
MsgBox i
End Sub

Si tu souhaites passer par la couleur de ta cellule en tête de colonne (qui démarre en ligne 1 pour effectuer la somme des cellules coloriées dans la colonne concernée, tu peux utiliser une fonction à coller dans un module standard :
Code:
Function Chxcoul()
Application.Volatile
Set c = Application.Caller
For Each cel In Range(c(2, 1), Cells(65536, c.Column).End(xlUp))
    If cel.Interior.ColorIndex = c.Interior.ColorIndex Then Chxcoul = Chxcoul + 1
Next
c = Chxcoul
End Function

et dans la première ligne de ta feuille, tu tapes à la colonne voulue :
Code:
=chxcoul()

La formule te renverra dans cette cellule le nombre de cellules dans la colonne qui ont la même couleur de fond qu'elle
 
Dernière édition:

gerard55

XLDnaute Occasionnel
Re : comptage cellules coloriées

Bonjour,
Merci Modeste et Softmana pour vos réponses intéressantes. Mais, concernant la dernière proposition de Softamana, il ne reconnait pas cette fonction de sorte qu'il me renvoie non. j'ai joins le fichier (je suis sur excel 2007).
a +
 

Pièces jointes

  • essai cptage couleur.xlsx
    8.7 KB · Affichages: 65

Softmama

XLDnaute Accro
Re : comptage cellules coloriées

Bonjour,

je ne peux lire ton fichier car j'ai une version d'excel de 2003. Néanmoins, assure-toi de bien avoir copié le code dans un nouveau module et non dans le module de la feuille.

ALT+F11
puis Insertion...
Module

et là tu copies le code.
 

Discussions similaires

Réponses
14
Affichages
410

Statistiques des forums

Discussions
312 609
Messages
2 090 193
Membres
104 448
dernier inscrit
lmp