calcul cellules suivant la couleur

mcj1997

XLDnaute Accro
Bonjour,

J'ai un tableau avec des cellules libres (couleur verte) et des cellules occupées (couleur rouge) ; quelqu'un pourrait-il m'envoyer une macro me permettant de calculer rapidement le nombre de cellules en rouge et celui en vert, ces variables changent régulièrement.

Merci d'avance,

:)
 

Brigitte

XLDnaute Barbatruc
Re : calcul cellules suivant la couleur

Bonjour,

Tu pourrais fonctionner à l'envers. A savoir, faire une formule qui compte celles qui sont occupées (et non en utilisant leur couleur "rouges") et libres (et non en utilisant leur couleur "vertes"), je veux dire récupérer le pourquoi de leur couleur.

Exemple :

=SOMMEPROD((A1:A7="")*1) pour compter celles qui sont "libres"
=SOMMEPROD((A1:A7<>"")*1) pour compter les autres, "occupées"

NOTA : remplacer le "" par 0 si ce que tu appelles "rien" est un résultat nul. A1 : A7 : plage à adapter à ton cas (pas de colonne entière pour la formule sommeprod).

Edit : sorry Gérard, bises au passage.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : calcul cellules suivant la couleur

Bonjour,

Si la couleur des cellules provient d'une Mise en Forme Conditionnelle, vous ne pouvez pas caractériser les cellules par leur couleur.
Par contre, dans tout les cas de figure, vous pouvez compter les cellules de votre tableau (reference Tab) avec les formules :

=NB.VIDE(Tab) pour les cellules vides
=NBVAL(Tab) pour les cellules non vides

A+
 

mcj1997

XLDnaute Accro
Re : calcul cellules suivant la couleur

bonjour mcj, bienvenue sur le forum,

Je te suggère de voir ce fil traitant de la même question.

A bientôt
Merci de votre réponse mais je ne trouve pas de solution dans le lien que vous me proposer, en effet mes cellules sont vides et le seront toujours elles sont uniquement avec le fond colorié en rouge ou en vert et je souhaite comptabiliser à l'instant T les cellules vertes donc les libres et les cellules rouges donc les occupées.

Cordialement,
 

mcj1997

XLDnaute Accro
Re : calcul cellules suivant la couleur

Bonjour,

Si la couleur des cellules provient d'une Mise en Forme Conditionnelle, vous ne pouvez pas caractériser les cellules par leur couleur.
Par contre, dans tout les cas de figure, vous pouvez compter les cellules de votre tableau (reference Tab) avec les formules :

=NB.VIDE(Tab) pour les cellules vides
=NBVAL(Tab) pour les cellules non vides

A+
Bonjour,

La couleur des cellules provient d'une macro, en effet pour colorer par exemple en rouge b23, je me mets dessus et clique sur mon bouton macro qui mets automatiquement la cellule en rouge.

Cordialement,
 
G

Guest

Guest
Re : calcul cellules suivant la couleur

Re bonjour,
Mcj
Job,
Brigitte,

Qu'en est-il des solutions proposées par Job et Brigitte? conviennent-elles?

Sinon en joignant un exemple (fichier), ce serai plus simple d'arriver directement au but recherché.

A bientôt
 

mécano41

XLDnaute Accro
Re : calcul cellules suivant la couleur

Bonjour,

Voilà un petit fichier. Regarde si c'est cela que tu veux faire. Si les couleurs sont différentes des miennes, la valeur des constantes doit être modifiée. La zone du tableau doit être nommée "Tableau" (original, non ? :D)

Cordialement

EDIT : comme l'a dit Job75, si la couleur provient d'une mise en forme conditionnelle, cela ne fonctionne pas non plus ici.

EDIT 2 : un code un peu plus court que celui de mon fichier :

Code:
 Option Explicit

Sub CompteCouleurs()
Dim Tabl As Range
Dim NbVertes
Dim NbRouges
Dim NbAutres
Dim Cellule As Variant

Const Rouge = 3
Const Verte = 35

For Each Cellule In Range("Tableau")
    If Cellule.Interior.ColorIndex = Rouge Then
        NbRouges = NbRouges + 1
    ElseIf Cellule.Interior.ColorIndex = Verte Then
        NbVertes = NbVertes + 1
    Else
        NbAutres = NbAutres + 1
    End If
Next Cellule
MsgBox "Rouges : " & NbRouges & "   Vertes : " & NbVertes & "   Autres : " & NbAutres
End Sub
 

Pièces jointes

  • ComptageCouleurs1.xls
    25 KB · Affichages: 127
Dernière édition:

job75

XLDnaute Barbatruc
Re : calcul cellules suivant la couleur

Re,

La macro suivante compte les cellules qui ont la même couleur de fond que la cellule active :

Code:
Sub CompteCellules()
Dim i As Long
i = 0
For Each cel In Range("A1", Cells.SpecialCells(xlCellTypeLastCell))
If cel.Interior.ColorIndex = ActiveCell.Interior.ColorIndex Then i = i + 1
Next
MsgBox "Nombre de cellules de cette couleur : " & i
End Sub

A+
 
G

Guest

Guest
Re : calcul cellules suivant la couleur

Re bonjour mjc1997,

Pour répondre à ton message visiteur,

Pour joindre un fichier, regarder en bas de la fenêtre d'édition du message, dans 'Options supplémentaires'. cliquer sur le bouton Gérer les pièces jointes et se laisser guider.

Après avoir sélectionné un fichier ne pas oublier de cliquer sur le bouton 'Envoyer' à droite de la fenêtre.

A bientôt
 

yves03

XLDnaute Occasionnel
Re : calcul cellules suivant la couleur

Bonjour,

Voilà un petit fichier. Regarde si c'est cela que tu veux faire. Si les couleurs sont différentes des miennes, la valeur des constantes doit être modifiée. La zone du tableau doit être nommée "Tableau" (original, non ? :D)

Cordialement

EDIT : comme l'a dit Job75, si la couleur provient d'une mise en forme conditionnelle, cela ne fonctionne pas non plus ici.

EDIT 2 : un code un peu plus court que celui de mon fichier :

Code:
 Option Explicit

Sub CompteCouleurs()
Dim Tabl As Range
Dim NbVertes
Dim NbRouges
Dim NbAutres
Dim Cellule As Variant

Const Rouge = 3
Const Verte = 35

For Each Cellule In Range("Tableau")
    If Cellule.Interior.ColorIndex = Rouge Then
        NbRouges = NbRouges + 1
    ElseIf Cellule.Interior.ColorIndex = Verte Then
        NbVertes = NbVertes + 1
    Else
        NbAutres = NbAutres + 1
    End If
Next Cellule
MsgBox "Rouges : " & NbRouges & "   Vertes : " & NbVertes & "   Autres : " & NbAutres
End Sub

J'ai utilisé cette macro qui fonctionne tres bien, par contre j'aurais voulu que la plage "Tableau" puisse s'adapter, car je n'ai pas toujours le meme nombre de ligne et de ce fait le resultat "Autres" est faux;
Si vous avez une idée.
Merci
 

mécano41

XLDnaute Accro
Re : calcul cellules suivant la couleur

Bonsoir Yves03,

Si tu modifies le tableau en insérant des cellules au milieu ou bien si tu renommes la plage "Tableau" comme je l'ai indiqué, il ne doit pas y avoir de problème.

Lorsque tu sélectionnes la zone à tester, tu dois voir s'afficher ce nom à gauche au-dessus de la première colonne du tableur. Sinon, c'est que tu n'es plus dans la plage. Tu fais :

- insertion/nom/définir
- tu cliques sur Tableau puis supprimer ;tu fermes
- tu sélectionnes ta zone
- tu refais insertion/nom/définir
- tu écris "Tableau" ; tu fermes

Cordialement
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
211