comment compter le nombre de cellule par couleur ?

0

Bonjour à tous

J'ai réussi ,en rentrant un nouveau module dans le VBA  pour indexer mes couleurs : 

Function Couleur(Cellule As Range) As Integer

Application.Volatile

Couleur = Cellule.Interior.ColorIndex

End Function

et une formule "=NB.SI(K4:BV4;couleur(E3)) " à compter mes cellules selon leur couleur. Mais ça marche quand je rajoute une couleur (le nombre augmente) mais pas quand je retire la couleur (lle nombre reste figé et il faut queje retourne sur ma formule sans rien changer mais que je la valide pour que ça marche)

quelqu'un à la solution svp 

Posté le 6 janvier 2022, 16:46
par gautier
Répondre
-1

Bonsoir

Un fichier EXCEL complété par des explications anonymisé permettrait aux intervenants de répondre plus précisément à ta question.

Cordialement


tontonbox Posté le 6 janvier 2022, 21:35
par tontonbox
1

Bonjour,

La raison de ton souci est que Excel ne considère pas le changement de couleur comme une opération nécessitant le recalcule de la feuille et donc tu n'obtiens pas le résultat escompté aussi bien en moins qu'en plus d'ailleurs.  C'est bien dommage mais c'est ainsi.

Par contre, si tu effectues une autre opération dans la feuille qui nécessite le recalcule tu t'apercevras que ton compteur fonctionne bien.

Ce que l'on peut faire pour palier à ce souci, c'est d'implanter une petite macro évènementielle qui demande le calcule lors du changement de sélection de cellule.

Ainsi si tu changes la couleur d'une cellule ET QUE TU TAPES ENTREE ou que tu changes de cellule, le calcul se fera.

Voici la petite macro à implanter dans la feuille concernée (PAS DANS UN MODULE)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

ou sinon tu peux aussi taper F9 qui lance le calcul manuellement

N'hésites pas à me revenir pour un éventuel complément d'informations

A+

Chris

CHRIS Posté le 17 mars 2022, 11:57
par CHRIS

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :