Dénombrer des cellules sans couleur de remplissage sous conditions

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
1 K
Retour