COLORCOUNTIF

  • Initiateur de la discussion Delf
  • Date de début
D

Delf

Guest
Bonjour

Je viens d'installer la fonction colorcountif que j'ai trouvée sur le forum.

J'ai fait un copier/coller de la fonction dans perso.xls, mon classeur de macro perso

Function ColorCountIf(SearchArea As Object, BgColor As Range) As Double

Application.Volatile True
ColorCountIf = 0
MaCoul = BgColor.Interior.ColorIndex
For Each Cell In SearchArea
If Cell.Interior.ColorIndex = MaCoul Then ColorCountIf = ColorCountIf + Cell.Value
Next Cell

End Function


quand je suis sur Excel, je fais insertion/fonction, j'ai bien PERSO.XLS!ColorCountIf

Quand je fais OK, excel me dit 'Impossible de traiter votre question, soit Excel ne trouve pas de fonction équivalente, soit l'aide n'est pas installée'.

Je sélectionne quand même ma zone et la cellule contenant le fond couleur.

Excel l'accepte... mais le résultat marque 0 alors qu'il y a une cellule dans la plage qui correspond à la couleur.

Pouvez vous m'aider ?

Merci !
 

michel_m

XLDnaute Accro
bonsoir delf, Henri

Pour compter le nombre de cellules d'une certaine couleur dans une plage et non la somme des valeurs dans les cellules d'une certaine couleur,
remplace:
If Cell.Interior.ColorIndex = MaCoul Then ColorCountIf = ColorCountIf + Cell.Value
par
If Cell.Interior.ColorIndex = MaCoul Then ColorCountIf = ColorCountIf + 1

d'autre part, la valeur retournée par la fonction est du type long et non double (ca marche mais bouffe beaucoup de mémoire)

A+
Michel_M
 
D

Delf

Guest
Bon alors,

j'ai refait la manip, inséré un nouveau module, recopié la fontion, remplacé Double par Long

Function ColorCountIf(SearchArea As Object, BgColor As Range) As Long

Application.Volatile True
ColorCountIf = 0
MaCoul = BgColor.Interior.ColorIndex
For Each Cell In SearchArea
If Cell.Interior.ColorIndex = MaCoul Then ColorCountIf = ColorCountIf + Cell.Value
Next Cell

End Function

Mais j'ai toujours le même pb...
comprends pô... :ermm:
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Delf, bonjour Henri, bonjour Michel,
bonjour à toutes et à tous :)

Delf, je te joins un fichier avec 2 fonctions (ColorCountIf et ColorSumIf) qui fonctionnent parfaitement chez moi. Vérifie si elles posent problème sur ton PC :

[file name=Delf_Fonctions.zip size=7577]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Delf_Fonctions.zip[/file]

Tiens-nous au courant.

A+ ;)
 

Pièces jointes

  • Delf_Fonctions.zip
    7.4 KB · Affichages: 261

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et à tous,
Ces macros ne fonctionnent pas chez moi si la couleur de la cellule 'témoin' est déterminée à partir de la fonction mise en forme conditionnelle.
Quelqu'un a-t-il une solution pour que celà fonctionne ?

Merci à tous.
 

Charly2

Nous a quittés en 2006
Repose en paix
re à tous, bonjour Jouxte,

Pour les formats conditionnels, il faut savoir qu'ils ne modifient pas les propriétés de la cellule. Je veux dire par là qu'en testant la couleur par exemple, tu trouveras la couleur de base de ta cellule et non celle appliquée par la mefc.

Tu peux modifier le paramètre BgColor des fonctions (As Variant) et utiliser Ce lien n'existe plus pour aller chercher le numéro de couleur appliqué par ta mefc.

A+ ;)
 

Jouxte

XLDnaute Occasionnel
re,

Je te réexpédie ton fichier à peine modifié.

Merci encore. [file name=Delf_Fonctions2.zip size=8606]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Delf_Fonctions2.zip[/file]
 

Pièces jointes

  • Delf_Fonctions2.zip
    8.4 KB · Affichages: 77

Charly2

Nous a quittés en 2006
Repose en paix
re,

Excuse-moi, j'ai dû m'absenter quelques heures...

Voici le fichier avec la fonction modifiée de L. Longre.

[file name=Jouxte_Fonctions2.zip size=10041]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Jouxte_Fonctions2.zip[/file]

Vite avant que ça ferme :woohoo:

A+ ;)
 

Pièces jointes

  • Jouxte_Fonctions2.zip
    9.8 KB · Affichages: 82

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et tous, Bonjour Charly,

Je n'ai pris connaissance que ce matin du fichier avec la macro modifiée.

Dans cette déjà très belle application si le format d'une cellule de la plage de cellules à compter ou additionner est colorée (sans MFC) dans la couleur de la cellule témoin, elle n'est pas prise en compte.

1- La macro peut-elle évoluer pour que la couleur réelle de la cellule témoin (ici E2) soit prise en compte et qu'elle additionne ou compte les cellules dont le format couleur (sans MFC) est est identique à celle de la cellule témoin.

2- La macro peut-elle encore évoluer pour que la couleur réelle de la cellule témoin (ici E2) soit prise en compte et qu'elle additionne ou compte les cellules dont la couleur (avec ou sans MFC) est identique à celle de la cellule témoin.

Merci de ton aide et pour le temps que tu y a déjà consacré.

Bon courage. [file name=Jouxte_Fonctions3.zip size=9971]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Jouxte_Fonctions3.zip[/file]
 

Pièces jointes

  • Jouxte_Fonctions3.zip
    9.7 KB · Affichages: 51

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Jouxte, bonjour à toutes et à tous :)

Euh... j'ai pô tout compris, là :sick: :eek: :unsure:

J'ai vu dans ton fichier que la cellule servant de comparaison avait 3 mefc + 1 couleur de fond cyan. Qu'est-ce que je dois faire avec ça ?

1) La plage C2:C11 n'a pas de mefc, E2 en a 3. la couleur de fond de E2 est modifiée par sa mefc :

- quelle couleur de E2 dois-je prendre en compte pour la comparaison avec C2:C11 ; base ou mefc ?

2) La plage C2:C11 a une ou plusieurs mefc, E2 en a 3 : ça peut arriver, ça ? :S . Si oui, comment dois-je traiter ce cas ???

En bref, j'ai pas bien compris la différence entre tes 2 questions ('format couleur' et 'couleur')...

Merci de m'éclaircir :woohoo: :)

A+ ;)
 
J

Jouxte

Guest
re,
J'avais pourtant tourné sept fois la langue dans ma bouche, mais je n'ai pas été assez clair.
je vais essayer d'être plus précis.

1- La macro peut-elle évoluer pour que la couleur réelle de la cellule témoin (ici E2) soit prise en compte dans les formules.

Dans mon exemple

si E2=5
En C13 : le total des cellules de la plage de la même couleur que E2=12
En C15 : le nombre de cellules de la même couleur que E2=2

si E2=10
En C13 : le total total des cellules de la même couleur que E2=9
En C15 : le nombre de cellules de la même couleur que E2=1

Pour répondre à ton point 1 il s'agit de la couleur visible à l'écran que ce soit la MFC ou le format de la cellule. Mais ce n'est peut-être pas possible.

Pour le point 2
format couleur = couleur obtenue en modifiant format de cellule
couleur= couleur réelle obtenue à l'écran que ce soit par le format de la cellule ou par la MFC.

Est-ce mieux ?

Je dois repartir en réunion jusqu'à 18h30.

Bon courage.
 

Charly2

Nous a quittés en 2006
Repose en paix
re,

Je te joins ton fichier modifié qui donne les mêmes résultats que tes 2 exemples : c'est toujours la couleur vue à l'écran qui est prise en compte (qu'elle vienne d'une mefc ou non).

Le fichier :

[file name=Jouxte_Fonctions3_20060616220111.zip size=10673]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Jouxte_Fonctions3_20060616220111.zip[/file]

Tu vas pouvoir vérifier qu'il y a une belle erreur et que les 2 fonctions retourne l'erreur #VALEUR!.

J'ai été pas mal occupé depuis ton message, mais j'aurais dû t'envoyer le résultat bien avant si je n'avais pas eu cette 'fichue' erreur !!!

Tu vas pouvoir vérifier toi-même que les fonctions... fonctionnent !!! :)

Supprime la seconde zone de texte et appuie sur F9 : toujours une erreur ! Fais de même avec la 1ère zone de texte, et... Ô miracle !!! Tout est ok et les valeurs retournées sont les bonnes.

J'ai mis du temps à trouver d'où provenait l'erreur, mais même un fois détectée, je suis incapable de te dire pourquoi la 1ère zone de texte entraîne une erreur XL dans l'évaluation de la mefc :eek: :sick:

Voilà... To be continued :whistle:

A+ ;)
 

Pièces jointes

  • Jouxte_Fonctions3_20060616220111.zip
    10.4 KB · Affichages: 84

Discussions similaires

Réponses
6
Affichages
403

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 698
dernier inscrit
miespetico