Calcul nombre de cellule sans couleur

stoz

XLDnaute Junior
Bonjour,
Je suis à la recherche d'une formule de calcul dans Excel qui me permettrait de compter le nombre de cellule sans couleur (confère document ci joint)
L'idée étant de faire apparaître ici un résultat en nombre de jour non concerné par les codes couleurs renseignés dans le planning.
Merci pour votre aid
 

Pièces jointes

  • Calendrier IS May to August 2011.xls
    147.5 KB · Affichages: 203

JNP

XLDnaute Barbatruc
Re : Calcul nombre de cellule sans couleur

Bonjour le fil :),
Fhoest n'étant plus connecté, sa macro transformée en fonction :).
Bonne soirée :cool:
 

Pièces jointes

  • Calendrier XLD.xls
    68.5 KB · Affichages: 345
  • Calendrier XLD.xls
    68.5 KB · Affichages: 333
  • Calendrier XLD.xls
    68.5 KB · Affichages: 321

Hippolite

XLDnaute Accro
Re : Calcul nombre de cellule sans couleur

Bonjour à tous,
Fonction qui compte dans Plage les couleurs identiques à celle de la cellule Reference
VB:
Function CompteCouleurs(Plage As Range, Reference As Range) As Long
    Dim c As Range
    Application.Volatile
    For Each c In Plage
      If c.Interior.Color = Reference.Interior.Color Then CompteCouleurs = CompteCouleurs + 1
    Next c
End Function
A+
 

boullitt93

XLDnaute Nouveau
Re : Calcul nombre de cellule sans couleur

Merci Hippolite par peux-tu m'aider sur la macro créee par fhoest pour Stoz ? j'essaie de l'utiliser en modifiant la plage ( une seule colonne de A4:A250) avec une couleur vbRed mais sans résultat !

A te lire
 

boullitt93

XLDnaute Nouveau
Re : Calcul nombre de cellule sans couleur

Ok désolé de vous avoir interpellé ! c'est bon j'ai pu pomper et faire fonctionner la macro que tu avais installé sur le fichier de Stoz mais par contre comment comptabiliser les cellules vierges avec le seul fond de couleur déterminée ?

A+
 

fhoest

XLDnaute Accro
Re : Calcul nombre de cellule sans couleur

VB:
Re,
que veux tu dire par fond de couleur determinée ?
je ne comprend pas
pour cellule vierge dans le meme code:
Code :
Function CompteCouleurs(Plage As Range, Reference As Range) As Long
    Dim c As Range
    Application.Volatile
    For Each c In Plage
      If c.value=""  Then CompteCouleurs = CompteCouleurs + 1
    Next c
End Function
A+
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Calcul nombre de cellule sans couleur

Re :),
@ JNP,merci pour cette fonction,il est vrai que je n'y avait pas pensé.
De rien ;).
En plus, je viens de m'apercevoir que j'ai du avoir un Ctrl+z malheureux, j'avais pourtant bien modifié la plage en dur par Plage :eek:...
Donc la fonction de départ aurait du être celle-ci
Code:
Function CompteBlanc(Plage As Range) As Integer
Dim c As Range
For Each c In Plage
If c.Interior.Color = vbWhite And c.Value <> "" Then CompteBlanc = CompteBlanc + 1
Next
End Function
et je pense que la modifiée serait celle-ci
Code:
Function CompteCouleur(Plage As Range, Référence As Range) As Integer
Dim c As Range
For Each c In Plage
If c.Interior.Color = Référence.Interior.Color And c.Value <> "" Then CompteCouleur = CompteCouleur + 1
Next
End Function
avec par exemple
Code:
=CompteCouleur(A54:AE59;AI47)
qui va donner le nombre de jours de congés :p...
Bonne suite :cool:
Ajout : Bing Fhoest ;)
 

boullitt93

XLDnaute Nouveau
Re : Calcul nombre de cellule sans couleur

Re,

Je me fais mal comprendre ce qui est normal quand on a à faire à des épées sur Excel et ce n'est pas péjoratif ! dans ta macro(fichier de Stoz), apparemment seules les cellules de fond blanc non vides sont comptabilisées ? Comment faire pour comptabiliser les cellules vides de fond blanc en utilisant ta macro , bien pratique d'ailleurs ?

Merci d'avance
 

JNP

XLDnaute Barbatruc
Re : Calcul nombre de cellule sans couleur

Re :),
Des épées :confused: ?
Bon :
Fond blanc non vide
Code:
If c.Interior.Color = vbWhite And c.Value <> "" Then CompteBlanc = CompteBlanc + 1
Fond blanc vide
Code:
If c.Interior.Color = vbWhite And c.Value = "" Then CompteBlanc = CompteBlanc + 1
Fond non blanc non vide
Code:
If c.Interior.Color <> vbWhite And c.Value <> "" Then CompteBlanc = CompteBlanc + 1
Fond non blanc vide
Code:
If c.Interior.Color <> vbWhite And c.Value = "" Then CompteBlanc = CompteBlanc + 1
Etc. :p
Bonne soirée :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 152
Messages
2 085 794
Membres
102 975
dernier inscrit
samuelrollens