bjr a tous ... j'aimerais savoir comment compter les nombres de cellules contenant les chiffres de couleurs différentes , et qui va pouvoir faire sa mise a jour automatique lorsqu'on entrera un chiffre de dans une cellule. je tient a noter que je ne comprend au VBA et a ses différents codes. veuillez avoir l'amabilité de m'expliquer au mieux si jamais il faille qu'on y arrive la. Mercie d'avance
Donc en reprenant un code que j'ai posté dans un autre fil
VB:
'recyclée de:
'https://www.excel-downloads.com/threads/calcul-cellule-de-couleur-excel-2007.20034263/#post-20247740
Function NBCOULEUR(Zone As Range, CommeCellule As Range)
Dim xCell As Range, Couleur, i&
i = 1
Couleur = CommeCellule.Interior.Color
For Each xCell In Zone
If xCell.Font.Color = Couleur Then
NBCOULEUR = NBCOULEUR + i
End If
Next xCell
End Function
A utiliser comme suit:
Copie cette formule en G6 (puis recopie vers le bas) =NBCOULEUR($B$7:$B$20;F6)
Bien sur il faut d'abord copie le code VBA dans un module
(ALT+F11 puis Insertion/Module)
PS: Si difficutés, voir tuto sur le web pour copier une macro dans un module.
Donc en reprenant un code que j'ai posté dans un autre fil
VB:
'recyclée de:
'https://www.excel-downloads.com/threads/calcul-cellule-de-couleur-excel-2007.20034263/#post-20247740
Function NBCOULEUR(Zone As Range, CommeCellule As Range)
Dim xCell As Range, Couleur, i&
i = 1
Couleur = CommeCellule(1, 1).Interior.Color
For Each xCell In Zone
If xCell.Font.Color = Couleur Then
NBCOULEUR = NBCOULEUR + i
End If
Next xCell
End Function
A utiliser comme suit:
Copie cette formule en G6 (puis recopie vers le bas) =NBCOULEUR($B$7:$B$20;F6)
Bien sur il faut d'abord copie le code VBA dans un module
(ALT+F11 puis Insertion/Module)
PS: Si difficutés, voir tuto sur le web pour copier une macro dans un module.
@sexy95 :
J'ai l'impression que les couleurs de fond de la colonne F ne sont pas celles des polices de la colonne B.
Dans ce cas, la fonction échouera, non? (renverra 0)
mapomme
C'est vrai, j'ai oublié de précisé que pour tester j'ai modifié les couleurs pour le fond matche la police.
Au fait, tu as reconnu ta syntaxe (que je m'étais permis d'adapter dans le fil dont le lien est dans le commentaire de NBCOULEUR) ?
Une fonction VBA faisant la somme d'une zone contigüe si la couleur de fond des cellules est identique à la couleur de fond d'une cellule de référence.
Formule en R22:
Code:
=SommeCouleur($Q$5:$Q$20;M22)
La fonction VBA:
VB:
Function SommeCouleur(Zone As Range, CommeCellule As Range)
Dim xCell As Range, Couleur
Couleur = CommeCellule(1, 1).Interior.Color
For Each xCell In Zone
If xCell.Interior.Color = Couleur And IsNumeric(xCell.Value) Then
SommeCouleur = SommeCouleur + xCell.Value
End If
Next xCell
End Function
en ce qui me concerne la question est un peu flou
plusieurs chiffres de couleur dans une même cellule ou cellule différente???
pour reprendre la fonction de stapple
VB:
Function NBCOULEUR(Zone As Range, CommeCellule As Range)
Dim xCell As Range, Couleur, i&
i = 1
Couleur = CommeCellule(1, 1).Interior.Color
For Each xCell In Zone
If xCell.Font.Color <> vbblack Then
NBCOULEUR = NBCOULEUR + i
End If
Next xCell
End Function
une cellule entièrement avec un texte de couleur donnera la couleur
une cellule avec certain partie du texte avec plusieur couleurs donnera NULL
conclusion tout ce qui est différent de noir sera pris en compte
en ce qui me concerne la question est un peu flou
plusieurs chiffres de couleur dans une même cellule ou cellule différente???
pour reprendre la fonction de stapple
VB:
Function NBCOULEUR(Zone As Range, CommeCellule As Range)
Dim xCell As Range, Couleur, i&
i = 1
Couleur = CommeCellule(1, 1).Interior.Color
For Each xCell In Zone
If xCell.Font.Color <> vbblack Then
NBCOULEUR = NBCOULEUR + i
End If
Next xCell
End Function
une cellule entièrement avec un texte de couleur donnera la couleur
une cellule avec certain partie du texte avec plusieur couleurs donnera NULL
conclusion tout ce qui est différent de noir sera pris en compte
@sexy95 :
J'ai l'impression que les couleurs de fond de la colonne F ne sont pas celles des polices de la colonne B.
Dans ce cas, la fonction échouera, non? (renverra 0)
mercie @Staple1600 . jai essaye et ca marche. appart lerreur que de couleur de fond que @mapomme m'a fait remarquer, je suis satisfait de mes attentes .