NB.SI(Police de couleur)

Daniel 76

XLDnaute Nouveau
Bonjour à toutes et à tous
J'ai pu me débrouiller pour calculer la somme
des rouges en puisant dans le forum et
en l'adaptant à ma commande.
J'ai plus de difficultés pour réaliser la macro
qui m'additionnera le nombre d'éléments rouges
Merci de tous vos conseils
A bientôt Daniel 76 [file name=Nbre_elements_rouges.zip size=6356]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Nbre_elements_rouges.zip[/file]
 

Pièces jointes

  • Nbre_elements_rouges.zip
    6.2 KB · Affichages: 100
A

amand81

Guest
Bonjour

Si tu veux utiliser le même style que ta fonction déjà utilisée

Function CompteCouleurFont(Range, Optional Couleur)
Dim Cell As Object
CompteCouleurFont = 0
For Each Cell In Range
If Cell.Font.ColorIndex = Couleur Then _
CompteCouleurFont = CompteCouleurFont + 1
Next Cell
End Function


C'est exactement ce que tu as fait pour la somme, je l'ai simplement transformé en y mettant un compteur.

Bonne journée
 

Gael

XLDnaute Barbatruc
Bonjour Daniel, Jordan,

La fonction suivante permet de compter les cellules avec le code couleur de la police:

Function CCF(SearchArea As Object, BgColor As Byte) As Integer
Application.Volatile True
CCF = 0
For Each Cell In SearchArea
If Cell.Font.ColorIndex = BgColor Then CCF = CCF + 1
Next Cell
End Function

Voir fichier joint modifié.

@+

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

Pièces jointes

  • Nbre_elements_rouges_20050719134222.zip
    7.1 KB · Affichages: 88

Daniel 76

XLDnaute Nouveau
Bonjour le forum,
Merci Armand et Gael pour l'aide précieuse que vous m'avez si gentiment apporté.
J'avais bien essayé de transformer ce petit bout de VB que j'avais déjà adapté pour faire la somme des éléments colorés en un comptage d'éléments mais sans succès.
Je comprends mieux mes echecs passés avec vos solutions devant les yeux.
Merci encore à vous deux et à bientôt. Daniel 76
 

labellebleu

XLDnaute Nouveau
Re : NB.SI(Police de couleur)

Bonjour à tous

J'ai telecharger le fichier car c'est tout à fait ce que je cherchais. J'ai copié le code ds un module de mon fichier, ça fiontionne pas tout le temps? j'ai reouvert le fichier excel servant d'exemple et on peut se rendre compte qu'en "C5" si j'ajoute un chifree rouge il ne le compte pas bizarre.
Merci d'avance si quelqu'un pouvait me venir en aide.
Labellebleu
 

Cousinhub

XLDnaute Barbatruc
Re : NB.SI(Police de couleur)

Bonjour labellebleu et Gérard

pour répondre à vos questions :

1/ il faut appuyer sur F9 pour refaire un calcul
2/ l'index de la couleur est entré ici :

Code:
=CCF(C3:C10;[COLOR="Red"]3[/COLOR])

Le 3 représente la couleur rouge
pour savoir quel index tu utilises, lance l'enregistreur de macro, modifie la police de la cellule et arrête l'enregistreur
tu auras alors l'index par :

Code:
Selection.Font.ColorIndex = x
 

labellebleu

XLDnaute Nouveau
Re : NB.SI(Police de couleur)

Bonjour
Merci de nous avoir repondu. effectivement cela fonctionne en appuyant sur F9 mais il suffit que retire un chiffres et cela ne fonctionne plus. il y aurait pas moyen eviter d'appuyer sur F9 qu'il fasse le calcul tout seul? ( considérant que calcul automatique soit selectionné ds les options de calcul).
D'avance merci beaucoup d'essayer de me venir en aide.
Labellebleu
 

Cousinhub

XLDnaute Barbatruc
Re : NB.SI(Police de couleur)

Re-,
si tu enlèves un chiffre en l'effaçant, cela fonctionne
si tu modifies sa couleur uniquement, tu es obligée d'appuyer sur F9, à moins de saisir le changement dans le code API de windows, mais là....(et encore, je ne suis pas sûr)
 

labellebleu

XLDnaute Nouveau
Re : NB.SI(Police de couleur)

Bonjour
Application.Volatile y est deja. mais je viens de trouver un code qui fonctionne tres bien:

Public Function DenombreCouleur(ByVal KelPlage As Range, ByVal KelCouleur As Integer) As Long

Dim oCell As Range

DenombreCouleur = 0

For Each oCell In KelPlage

If oCell.Font.ColorIndex = KelCouleur And oCell.Value <> "" Then

DenombreCouleur = DenombreCouleur + 1

End If

Next

End Function
Merci beaucoup a toi et a cet excelent forum
LBB
 

Discussions similaires

F
Réponses
5
Affichages
2 K
J
Réponses
11
Affichages
1 K
Julia
J
B
Réponses
3
Affichages
3 K
bilibou
B
T
Réponses
6
Affichages
1 K
toinish
T
L
Réponses
5
Affichages
3 K

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom