compter couleur d'une MFC

Marc_du_78

XLDnaute Accro
Bonjour chers ami(e)s
Ayant trouvé le code ci-dessous sur le net, est-il possible d'obtenir l'adaptation pour compter les cellules bleu (par MFC) pour la plage AA9:AA500 et que le résultat soit renvoyé dans la cellule AA1

'Je souhaiterais compter le nombre de cellules rouges sachant que cette couleur est appliquée par une mise en forme conditionnelle.
'(Je ne veux pas compter le nombre de cellules répondant à la condition !)

Sub Format_Conditionnel()
Dim FC As FormatCondition, F1, F2
For Each FC In ActiveCell.FormatConditions
If FC.Type = xlCellValue Then
F1 = Evaluate(FC.Formula1)
Select Case FC.Operator
Case xlBetween: If ActiveCell >= F1 _
And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
Case xlEqual: If ActiveCell = F1 Then Exit For
Case xlGreater: If ActiveCell > F1 Then Exit For
Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
Case xlLess: If ActiveCell < F1 Then Exit For
Case xlLessEqual: If ActiveCell <= F1 Then Exit For
Case xlNotBetween: If ActiveCell < F1 _
Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
Case xlNotEqual: If ActiveCell <> F1 Then Exit For
End Select
Else
If Evaluate(FC.Formula1) Then Exit For
End If
Next FC
If Not FC Is Nothing Then
MsgBox FC.Font.ColorIndex
Else: MsgBox ActiveCell.Font.ColorIndex
End If
End Sub

En vous remerciant tous et toutes pour l'attention que vous me porterez.
 

porcinet82

XLDnaute Barbatruc
Re : compter couleur d'une MFC

Salut,

Essaye avec un code de ce genre et ca devrait le faire :
Code:
Sub Format_Conditionnel()
Dim FC As FormatCondition, F1, F2
For Each cel In Range("AA9:AA500").FormatConditions
    If cel.Font.ColorIndex = 3 Then
        nb_cel = nb_cel + 1
    End If
Next cel
Range("AA1").Value = nb_cel
End Sub

@+
 

porcinet82

XLDnaute Barbatruc
Re : compter couleur d'une MFC

re, Salut abc,

Juste pour signaler a abc que son fichier ne fonctionne pas dans le cas d'une MFC, or c'est ce que souhaite Marc.
J'en profite également pour Saluer mon ami Hervé. Ca fait plaisir de te croiser ;)

Au plaisir,

@+
 

Marc_du_78

XLDnaute Accro
Re : compter couleur d'une MFC

Bonjour,
Dans le code de porcinet82, ci-dessous, j'ai une erreur d'exécution 7

Sub Format_Conditionnel()
Dim FC As FormatCondition, F1, F2
For Each cel In Range("AA9:AA500").FormatConditions
If cel.Font.ColorIndex = 3 Then
nb_cel = nb_cel + 1
End If
Next cel
Range("AA1").Value = nb_cel
End Sub
sur la ligne For Each

Que fut-il modifier svp d'autant que chaque jour, le compte doit se faire sur une colonne différente.
Le 1, colonne AA, le 2, colonne AB, le 3 colonne AC etc...
Tous mes remerciements pour votre aide.
Marc
 

Hervé

XLDnaute Barbatruc
Re : compter couleur d'une MFC

bonjour marc

le code de l'ami porcinet ne devrait pas fonctionner avec des mefc.

pourrais-tu nous fournir un fichier de ce que tu as actuellement, surtout la formule appliquée à la MEFC, une solution par formule doit etre possible.

salut
 

porcinet82

XLDnaute Barbatruc
Re : compter couleur d'une MFC

Salut,

Comme l'a dis Hervé un peu plus tot dans la journée, mon code ne fonctionne pas. J'étais pourtant sur qu'il fonctionnait dans l'exemple que j'ai testé, mais apparement, je me suis débrouiller comme un manche. Le soucis c'est que je ne peux meme pas essayer de me rattraper car je ne sais pas du tout pourquoi mon code merdouille ni comment adapter le code de Laurent LONGRE.

J'appel donc l'ami Hervé a la rescousse, je suis sur que lui aura une idée du pourquoi du comment et de la solution.

@+
 

Hervé

XLDnaute Barbatruc
Re : compter couleur d'une MFC

re

ben je crois bien romain, qu'il n'y a pas 36 solutions en vba.

1) boucler sur toutes les cellules de la colonne
2) renvoyer dans une cellule vide la formule de la mefc
3) additionner les VRAI
4) renvoyer la somme en ligne 1
5) passez à la colonne suivante.
6) poster anonymement l'usine à gaz :D

ce qui me surprend dans le premier code proposé par marc est le : F1 = Evaluate(FC.Formula1), ca passe pas chez moi

je me souviens, avoir déjà essayé d'évaluer les formules des mefc sans succès.

d'ailleurs le code original de cette macro de Laurent Longre utilise une cellule vide (voir sur excelabo)

Ce lien n'existe plus

ce qui me laisse penser que le premier code proposé par marc ne fonctionne pas non plus.

il me semble, donc, que marc devrait rechercher une solution par formule (surement matricielle) et là je passe la main.

salut
 

Discussions similaires