Somme cellules fusionnées par couleur de fond

norip

XLDnaute Junior
Bonjour,
je souhaite compter le nombre de cellules par type de couleur.
J'ai réussi a faire cela cependant lorsque je fusionne plusieurs cellule afin de n'en faire qu'une ma formule renvoie le nombre de cellule fusionnée.

Voici le code:

Function Couleurs(Plage As Range, IndexCouleur As Integer) As Long
Dim Cel As Range
For Each Cel In Plage.Cells
If Cel.Interior.ColorIndex = IndexCouleur Then Couleurs = Couleurs + 1
Next Cel
End Function




Function Couleur(CL As Range) As Long
Couleur = CL.Interior.ColorIndex
End Function



et la formule:

=couleurs($A$10:$GU$100;G2)


Est il possible de modifier le code vba afin d'intégrer le fait qu'il puisse y avoir plusieurs cellules fusionnées qui n'en donne qu'une quand j'inscris ma formule.

Cordialement
norip
 

Papou-net

XLDnaute Barbatruc
Re : Somme cellules fusionnées par couleur de fond

RE:

Voici ton fichier modifié.

Si je puis me permettre une remarque : il est inutile de mélanger les formules et les macros. Une seule macro suffit à faire les totaux par couleur, j'ai donc créé dans le Module2 la procédure Sub NbCoul() et je l'ai affectée au bouton 'ACTUALISER LES DONNEES'. De ce fait, la fonction NbrCouleurs n'est plus utile, mais je ne l'ai pas supprimée.

Par ailleurs, je ne vois pas l'utilité d'écrire le code couleur dans la colonne G ?

Espérant avoir résolu.

Cordialement.
 

Pièces jointes

  • Copie de SchémaEvl1-GDS - 2.xls
    291.5 KB · Affichages: 76

norip

XLDnaute Junior
Re : Somme cellules fusionnées par couleur de fond

merci c'est parfait

le code couleur servait lorsque j’utilisai la fonction couleurs qui nécessitait le code couleur fournit par la fonction couleur.

J'aurai cependant aimé savoir pourquoi mes 2 formules présentes en J3 et J7 ne fonctionne pas.

Cordialement
norip
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Fond de couleur
Réponses
2
Affichages
733

Statistiques des forums

Discussions
312 182
Messages
2 086 002
Membres
103 084
dernier inscrit
Hervé30120