Macro pour compter les cellules non blanche dans une plage

  • Initiateur de la discussion Initiateur de la discussion Atiom
  • Date de début Date de début

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 !

Atiom

XLDnaute Occasionnel
Bonsoir, le forum

Je souhaiterai faire un macro que compte les cellules d’une couleur différente du blanc.

Exemple :
Dans la plage (B25 : BA25) chercher le nombre de cellules de couleur différente de blanc.

Puis envoyer la somme dans la cellule N44

Comment je peux faire ?

Merci

Amicalement
Atiom
 
Re : Macro pour compter les cellules non blanche dans une plage

bonjour

à essayer :

Code:
Dim c As Range
Dim cpt As Integer

For Each c In Range("b25:ba25")
    cpt = cpt - (c.Interior.ColorIndex = 2)
Next c

Range("n44") = cpt

salut
 
Re : Macro pour compter les cellules non blanche dans une plage

Bonsoir Atiom,

Voici un code à tester :

Code:
Sub Nb_Couleur()
X = 0
For Each Cell In Range("B25:BA25")
If Cell.Interior.ColorIndex <> xlNone Then
X = X + 1
End If
Next Cell
Range("N44").Value = X
End Sub
@+

Edtion : Bonsoir Hervé - Confusion entre pas de couleur et Blanc ! Attendons de voir ce que dit Atiom...
 
Dernière édition:
Re : Macro pour compter les cellules non blanche dans une plage

Après vérification, ta demande est liée à ton fichier sur le photopériodisme.
https://www.excel-downloads.com/threads/calculer-le-photoperiodisme.76832/

Mais les codes écrits par Hervé ou par moi ne fonctionneront pas car tes cellules sont coloriées par une MFC et par conséquent, le code n'assimile pas cela à la présence d'une couleur.

IL faut donc traiter le code comme la MFC. Voici un essai :

Code:
Sub Nb_Couleur()
X = 0
For Each Cell In Range("B25:BA25")
If Cell <> "" Then
X = X + 1
End If
Next Cell
Range("N44").Value = X
End Sub
@+
 
Dernière édition:
Re : Macro pour compter les cellules non blanche dans une plage

Bonsoir, Hervé et Sergio

Tu as raison Sergio je crois que Hervé a fait confusion entre le pas de couleur et Blanc.
Ma demande n’a rien avoir avec le photopériodisme, il s’agit d’un autre planning et les cellules sont colories par macro donc il n’y pas de problème, merci pour ton observation, c’est très sympa.

Je opté par ta proposition elle fonctionne impeccable, merci encor Sergio.

Puis j’ai essayé de modifier la macro d’Hervé comme ça :


Code:
Sub Nb_Couleur()
Dim c As Range
Dim cpt As Integer
For Each c In Range("b25:ba25")
    cpt = cpt - (c.Interior.ColorIndex = xlNone)
Next c

Range("n44") = cpt
End Sub


Elle fonctionne mais elle compte les cellules blanches, or je voulais justement le contraire.

Mais dans tous le cas merci Hervé pour ça proposition.

Cordialement


Atiom
 
- 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

Retour