NB.SI......Couleur texte ?

Ayral10

XLDnaute Junior
Bonjour !
Je voudrais comptabiliser les chiffres d'un tableau , jusque là j'utilise NB , mais je voudrais comptabiliser les chiffres que d'une seule couleur choisie dans un tableau où il y a des chiffres de plusieurs couleurs ! comment pourrais je faire ?
merci de votre aide
 

job75

XLDnaute Barbatruc
Re : NB.SI......Couleur texte ?

Bonjour Ayral10,

Coller cette fonction dans un module standard :

Code:
Function UneSeuleCouleurPolice(r As Range)
Application.Volatile
For Each r In r
UneSeuleCouleurPolice = UneSeuleCouleurPolice - IsNumeric(r.Font.Color)
Next
End Function
Pour comptabiliser le tableau A1:C10 on entrera dans une cellule :

Code:
=UneSeuleCouleurPolice(A1:C10)
Si l'on modifie les polices, il peut être nécessaire d'appuyer sur la touche F9 pour que la fonction se recalcule.

Cela dit pour que des nombres aient plus d'une couleur de police il faut qu'ils soient au format Texte.

A+
 

job75

XLDnaute Barbatruc
Re : NB.SI......Couleur texte ?

Re,

Maintenant si l'on veut comptabiliser une couleur donnée il faut un 2ème argument :

Code:
Function CompteCouleurPolice(r As Range, cellule As Range)
Application.Volatile
Dim coul As Variant
coul = cellule.Font.Color 'couleur de référence
If IsNull(coul) Then Exit Function
For Each r In r
  If IsNumeric(r.Font.Color) Then _
    CompteCouleurPolice = CompteCouleurPolice - (r.Font.Color = coul)
Next
End Function
Avec par exemple la formule :

Code:
=CompteCouleurPolice(A1:C10;A1)
A+
 

Ayral10

XLDnaute Junior
Re : NB.SI......Couleur texte ?

Merci pour ces réponses JOB75 , il n'existe pas une solution plus simple comme mfc ou formule, avec par exemple le code couleur ? car moi et le vba , ca colle toujours pas , j'utilise trop rarement pour bien m'en souvenir et parfois il y a des bugs ! :(
 

job75

XLDnaute Barbatruc
Re : NB.SI......Couleur texte ?

Re,

Pour votre problème il n'y a pas d'autre solution que le VBA et le code est vraiment simple...

Vous pourriez bien sûr utiliser un nom défini par =LIRE.CELLULE(24;A1).

Mais cette fonction macro Excel 4.0 renvoie la couleur de la police du premier caractère dans la cellule A1, sous forme de nombre compris entre 1 et 16. Si la couleur de la police est automatique, renvoie 0.

Elle ne convient donc pas pour votre problème.

A+
 

Ayral10

XLDnaute Junior
Re : NB.SI......Couleur texte ?

On est doué ou on l'est pas ! j'aime bien excel mais limite en formule et mfc ( c'est déjà pas mal pour moi hi hi !) , mon fichier comprends une cinquantaine d'onglets, contenant des tableaux de différentes tailles ( là ca se complique ) comment je fais pour coller ce vba sur tous ? si vous pouvez encore m'aider , n'hésitez pas à m'expliquer comme à un débutant que je suis !A+ merçi
 

job75

XLDnaute Barbatruc
Re : NB.SI......Couleur texte ?

Re,

Pas compliqué, le code VBA de la fonction doit être collé dans un seul module standard.

Et vous entrez où vous voulez autant de formules que de tableaux, en précisant éventuellement la feuille :

Code:
=CompteCouleurPolice(Feuil1!A1:C10;Feuil1!A1)
A+
 

Discussions similaires

Réponses
6
Affichages
194

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 764
dernier inscrit
nissassa