Dénombrer des cellules sans couleur de remplissage sous conditions

chris6999

XLDnaute Impliqué
Bonjour le FORUM

Je cherche à comptabiliser le nombre de cellules sans remplissage couleur (et non de couleur blanche) dans une plage définie comme suit :

Traiter toutes les lignes où A est non vide
-A partir de la ligne 2
-A partir de la colonne D

Dans cette plage le traitement n' est réalisé que si la valeur de la ligne 1 n'est pas vide.

La macro renvoi dans la colonne C et pour chaque ligne traitée le nombre de cellules "incolores"

Ex
C2 = nb de cellules incolores à partir de D2 et pour toutes les colonnes à droite pour lesquelle les cellules de la ligne 1 ne sont pas vides : soit de D2 à BK2

C3 = nb de cellules incolores à partir de D3 et pour toutes les colonnes à droite pour lesquelle les cellules de la ligne 1 ne sont pas vides : soit de D3 à BK3

Je mets un fichier en PJ.

J'ai trouvé pas mals de fils sur le sujet mais surtout pour des cellules colorées. De plus ma définition des plages traitées dépasse mon petit niveau de connaisance des manipulations VBA.

Je vous remercie d'avance pour votre aide
Cordialement
 

Pièces jointes

  • test nb cellules incolores.xls
    52 KB · Affichages: 25
  • test nb cellules incolores.xls
    52 KB · Affichages: 27
  • test nb cellules incolores.xls
    52 KB · Affichages: 24

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Dénombrer des cellules sans couleur de remplissage sous conditions

Bonjour,

Code:
Function CompteSansCouleur(champ As Range)
    Application.Volatile
    Dim c, temp
    temp = 0
    For Each c In champ
      If c.Interior.ColorIndex = xlNone Then
         temp = temp + 1
      End If
    Next c
    CompteSansCouleur = temp
End Function

JB
 

Pièces jointes

  • test nb cellules incolores.xls
    55 KB · Affichages: 37
  • test nb cellules incolores.xls
    55 KB · Affichages: 38
  • test nb cellules incolores.xls
    55 KB · Affichages: 40

chris6999

XLDnaute Impliqué
Re : Dénombrer des cellules sans couleur de remplissage sous conditions

Bonjour et merci Boisgontier


J'ai essayé d'adapter ta proposition pour faire une balayage de la plage car je ne vais pas utiliser la méthode Worksheet_SelectionChange.
J'ai donc enregistré ta formule et l'ai jouté à mon code mais je me retrouve avec une erreur 400 dont je ne sais que faire.

Sub test()
With Range(Cells(c, "C"), Cells(lig, "C")).Resize(, 1)
FormulaR1C1 = "=CompteSansCouleur(RC[1]:RC[60])"
Calculate
.Value = .Value

End With
End Sub

Peux tu me dire ce que tu en penses?
Cordialement
 

Pièces jointes

  • test incolore 2.xls
    56 KB · Affichages: 25

Discussions similaires

Réponses
16
Affichages
262
Réponses
4
Affichages
200

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi