compter les cellules colorées
#1
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 11-01-2011 17h31
bonjour le forum
j'utilise cette formule"=nombrecouleur(B$2:B$500;"jaune")"pour compter les cellules de couleur jaune,mais je voudrais compter toutes les cellules qui sont colorées,et je ne sais pas par quoi remplacer "jaune".Le nombre de couleurs varient entre 6 et 12 couleurs
merci
Hors Ligne
Rapport   Haut 

Re: compter les cellules colorées
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 11-01-2011 19h21
Bonsoir jad73, le Forum,

NombreCouleur() n'étant pas une fonction native d'Excel, tu as visiblement recours à une function personnalisée VBA...

Si tu postais déjà le code correspondant ici, peut-être qu'on pourrait t'aider... sinon, je te conseille de demander à son auteur.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: compter les cellules colorées
#3
Régulier XLPages

Inscription: 31/12/2008

Messages: 55

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 11-01-2011 23h10

bonjour
Je ne comprend pas car dans mon classeur je n'ai aucune macro ni code qui correspond a cette formule.
je suis retourné  la ou j'ai trouvé cette formule et il y avait ce code ci-dessous.
Mais comment peut fonctionner cette formule dans mon classeur si il n'y a pas ce code.
merci

Function SOMMECOULEUR(Ra As Range, Coul As String) As Double
Dim IndexCoul As Long, R As Range, Som As Double
Som = 0
    Select Case UCase(Coul)
        Case "NOIR"
        IndexCoul = 1
        Case "ROUGE FONCÉ"
        IndexCoul = 9
        Case "ROUGE"
        IndexCoul = 3
        Case "ROSE"
        IndexCoul = 7
        Case "ROSE SAUMON"
        IndexCoul = 38
        Case "MARRON"
        IndexCoul = 53
        Case "ORANGE"
        IndexCoul = 46
        Case "ORANGE CLAIR"
        IndexCoul = 45
        Case "OR"
        IndexCoul = 44
        Case "BRUN"
        IndexCoul = 40
        Case "VERT OLIVE"
        IndexCoul = 52
        Case "MARRON CLAIR"
        IndexCoul = 12
        Case "CITRON VERT"
        IndexCoul = 43
        Case "JAUNE"
        IndexCoul = 6
        Case "JAUNE CLAIR"
        IndexCoul = 36
        Case "VERT FONCÉ"
        IndexCoul = 51
        Case "VERT"
        IndexCoul = 10
        Case "VERT MARIN"
        IndexCoul = 50
        Case "VERT BRILLANT"
        IndexCoul = 4
        Case "VERT CLAIR"
        IndexCoul = 35
        Case "BLEU-VERT FONCÉ"
        IndexCoul = 49
        Case "BLEU-VERT"
        IndexCoul = 14
        Case "VERT D'EAU"
        IndexCoul = 42
        Case "TURQUOISE"
        IndexCoul = 8
        Case "TURQUOISE CLAIR"
        IndexCoul = 34
        Case "BLEU FONCÉ"""
        IndexCoul = 11
        Case "BLEU"
        IndexCoul = 5
        Case "BLEU CLAIR"
        IndexCoul = 41
        Case "BLEU CIEL"
        IndexCoul = 33
        Case "BLEU MOYEN"
        IndexCoul = 37
        Case "INDIGO"
        IndexCoul = 55
        Case "BLEU GRIS"
        IndexCoul = 47
        Case "VIOLET"
        IndexCoul = 13
        Case "PRUNE"
        IndexCoul = 54
        Case "LAVANDE"
        IndexCoul = 39
        Case "GRIS80"
        IndexCoul = 56
        Case "GRIS50"
        IndexCoul = 16
        Case "GRIS40"
        IndexCoul = 48
        Case "GRIS25"
        IndexCoul = 15
        Case "BLANC"
        IndexCoul = 2
        Case "AUCUNE"
        IndexCoul = -4142
        Case Else
        SOMMECOULEUR = 0
        Exit Function
    End Select
For Each R In Ra
    If R.Interior.ColorIndex = IndexCoul Then
        Som = Som + R.Value
    End If
Next R
SOMMECOULEUR = Som
End Function

Function NOMBRECOULEUR(Ra As Range, Coul As String) As Long
Dim IndexCoul As Long, R As Range, Nombre As Long
Nombre = 0
    Select Case UCase(Coul)
        Case "NOIR"
        IndexCoul = 1
        Case "ROUGE FONCÉ"
        IndexCoul = 9
        Case "ROUGE"
        IndexCoul = 3
        Case "ROSE"
        IndexCoul = 7
        Case "ROSE SAUMON"
        IndexCoul = 38
        Case "MARRON"
        IndexCoul = 53
        Case "ORANGE"
        IndexCoul = 46
        Case "ORANGE CLAIR"
        IndexCoul = 45
        Case "OR"
        IndexCoul = 44
        Case "BRUN"
        IndexCoul = 40
        Case "VERT OLIVE"
        IndexCoul = 52
        Case "MARRON CLAIR"
        IndexCoul = 12
        Case "CITRON VERT"
        IndexCoul = 43
        Case "JAUNE"
        IndexCoul = 6
        Case "JAUNE CLAIR"
        IndexCoul = 36
        Case "VERT FONCÉ"
        IndexCoul = 51
        Case "VERT"
        IndexCoul = 10
        Case "VERT MARIN"
        IndexCoul = 50
        Case "VERT BRILLANT"
        IndexCoul = 4
        Case "VERT CLAIR"
        IndexCoul = 35
        Case "BLEU-VERT FONCÉ"
        IndexCoul = 49
        Case "BLEU-VERT"
        IndexCoul = 14
        Case "VERT D'EAU"
        IndexCoul = 42
        Case "TURQUOISE"
        IndexCoul = 8
        Case "TURQUOISE CLAIR"
        IndexCoul = 34
        Case "BLEU FONCÉ"""
        IndexCoul = 11
        Case "BLEU"
        IndexCoul = 5
        Case "BLEU CLAIR"
        IndexCoul = 41
        Case "BLEU CIEL"
        IndexCoul = 33
        Case "BLEU MOYEN"
        IndexCoul = 37
        Case "INDIGO"
        IndexCoul = 55
        Case "BLEU GRIS"
        IndexCoul = 47
        Case "VIOLET"
        IndexCoul = 13
        Case "PRUNE"
        IndexCoul = 54
        Case "LAVANDE"
        IndexCoul = 39
        Case "GRIS80"
        IndexCoul = 56
        Case "GRIS50"
        IndexCoul = 16
        Case "GRIS40"
        IndexCoul = 48
        Case "GRIS25"
        IndexCoul = 15
        Case "BLANC"
        IndexCoul = 2
        Case "AUCUNE"
        IndexCoul = -4142
        Case Else
        NOMBRECOULEUR = 0
        Exit Function
    End Select
For Each R In Ra
    If R.Interior.ColorIndex = IndexCoul Then
        Nombre = Nombre + 1
    End If
Next R
NOMBRECOULEUR = Nombre
End Function

Edité par le Webmaster pour insérer proprement le code VBA comme expliqué dans cette FAQ
Merci d'appliquer cette procédure la prochaine fois !


Edité par myDearFriend! le 12/01/2011 23:21:15
Hors Ligne
Rapport   Haut 

Re: compter les cellules colorées
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-01-2011 23h59
Bonsoir jad73, le Forum,

Citation :
jad73 a écrit :

Je ne comprend pas car dans mon classeur je n'ai aucune macro ni code qui correspond a cette formule.
je suis retourné  la ou j'ai trouvé cette formule et il y avait ce code ci-dessous.
Mais comment peut fonctionner cette formule dans mon classeur si il n'y a pas ce code.



Ok, deux solutions se présentent cher(e) jad73 :
  1. - l'auteur de cette fonction est un imbécile puisqu'il s'embête à créer une trentaine de lignes de code qui ne servent à rien, étant donné que ça fonctionne très bien sans en avoir besoin.
  2. - ce code est bel et bien présent dans ton environnement Excel suite à une manipulation que tu as toi-même réalisée mais dont tu ne te souviens plus (le code est dans ton classeur ou dans le classeur Perso.xls ou bien via une macro complémentaire que tu as installée peut-être !)...

Bien que n'étant pas moi-même l'auteur de ce code, tu imagines bien que je penche quand même pour la deuxième solution et je pense que ce code est forcément dans ton environnement Excel (sinon par quel miracle veux-tu que ça fonctionne, hein ?).

Donc, avant de te proposer une quelconque modification de ce code VBA, il convient déjà que tu le retrouves ! Toi seul(e) sait ce que tu as installé (ou non) sur ta machine, et de là où je suis, je ne peux pas faire grand chose sur ce point.

Regarde bien les modules de code de ton classeur, ou bien la présence éventuelle d'un classeur Perso.xls, ou bien encore les macros complémentaires installées...

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes