XL 2010 Compter un sous total du nombre de cellule de couleur

Samtchevsky

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à me dépatouiller d'une macro pouvant me calculer le nombre de cellule de couleur, verte dans mon cas, visible. Donc après avoir sélectionné des sites.

J'ai la somme du nombre de cellule de couleur sur la ligne 22 mais elle ne se met pas à jour lorsque je filtre (et ça me va très bien). J'aimerai que sur la ligne 24 ça soit un sous total.

Merci de votre retour.
 

Pièces jointes

  • Fichier v1.xlsm
    25.1 KB · Affichages: 81

youky(BJ)

XLDnaute Barbatruc
Bonjour ....sky,
Ajoute cette macro,
Function NbreCellulesCouleurVisible(Plage As Range, couleur As Byte) As Long
Application.Volatile
Dim Cellule As Range
For Each Cellule In Plage
If Cellule.Interior.ColorIndex = couleur And Not IsEmpty(Cellule) And Cellule.Hidden = False Then
NbreCellulesCouleur = NbreCellulesCouleur + 1
End If
Next Cellule
End Function

Bruno
 

Samtchevsky

XLDnaute Nouveau
Bonjour,

Je te remercie pour cette réponse.
J'ai collé la macro dans un nouveau module mais ceci ne fonctionne pas!
J'ai essayé en modifiant la partie "NbreCellulesCouleur = NbreCellulesCouleur + 1" en mettant "NbreCellulesCouleurVisible = NbreCellulesCouleurVisible + 1" mais j'ai quand même "#VALEUR" comme résultat.

Amicalement.
 

job75

XLDnaute Barbatruc
Bonjour Samtchevsky, Bruno,

On peut se passer du VBA.

Voyez le fichier joint avec les colonnes auxiliaires E G I K (masquées) et le nom défini Couleur en E4 :
Code:
=LIRE.CELLULE(38;'Planning maintenance régl.'!D4)+ENT(ALEA())
LIRE.CELLULE est une fonction macro Excel 4.0.

A+
 

Pièces jointes

  • Sous-total couleur(1).xlsm
    29.6 KB · Affichages: 66

job75

XLDnaute Barbatruc
Re, salut Paf,

Tout à fait d'accord avec Paf : la propriété .Hidden ne s'applique qu'à des objets Rows ou Columns.

Edit : il est classique aussi d'utiliser .EntireRow :
Code:
Function NbreCellulesCouleurVisible(Plage As Range, couleur As Byte) As Long
Application.Volatile
Dim Cellule As Range
For Each Cellule In Plage
  If Cellule.Interior.ColorIndex = couleur And Not IsEmpty(Cellule) And Cellule.EntireRow.Hidden = False _
    Then NbreCellulesCouleurVisible = NbreCellulesCouleurVisible + 1
Next Cellule
End Function
A+
 
Dernière édition:

Samtchevsky

XLDnaute Nouveau
Bonjour,

@youky(BJ): J'avais bien modifier la formule également mais cela ne fonctionnait pas mieux.
@Ce lien n'existe plus: Et oui toujours^^ Je me mets vraiment dedans là mais il y a tellement de chose à apprendre, je profite également de vos connaissances pour m'améliorer. Ca sera peut être moi un jour qui répondrais^^
@job75: La dernière macro fonctionnent beaucoup mieux. Je comprends la logique de la macro.

Merci à tous pour vos réponses.
 

Discussions similaires

Réponses
6
Affichages
347

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01