mise à jour de cellule suite à changement couleur

  • Initiateur de la discussion Initiateur de la discussion Faberiz
  • 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 !

Faberiz

XLDnaute Junior
Amis d'excel, Bonjour,

Le petit bricoleur je suis à trouver un fonction interessante pour compter le nombre de cellule d'une certaine couleur dans une plage, ... mais j'ai un soucis lorsque je change dans la plage la couleur d'une cellule.

la fonction marche bien à l'ouverture du fichier et mets à jour toutes les cellules, c'est parfait : elle est dans le module 1

Function sommecouleur(MaPlage As Range, MaCellRef As Range)

Dim c As Range
Dim montotal As Double
Application.Volatile True
For Each c In MaPlage
If c.Interior.ColorIndex = MaCellRef.Interior.ColorIndex Then
montotal = montotal + 1
End If

Next

sommecouleur = montotal

End Function

càd : en E5 j'ai : =sommecouleur(E11:E303;E5)
qui marche bien aussi à l'ouverture du fichier.

mais comment faire lorsque je me mets à changer une couleur (dans la plage E11:E303) pour avoir le calcul de E5 qui se mette à jours "instantanément" ?

merci au forum pour son aide.

A+

Faberiz
 
Re : mise à jour de cellule suite à changement couleur

Bonjour faberiz
càd : en E5 j'ai : =sommecouleur(E11:E303;E5)
qui marche bien aussi à l'ouverture du fichier.

c'est que ta procédure se trouve dans Workbook Open()

tu devrais la mettre dans

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'..........................
'ta procédure
'.........................

End Sub
 
Re : mise à jour de cellule suite à changement couleur

Bonjour faberiz, Bonjour phlaurent55,

c'est que ta procédure se trouve dans Workbook Open()

euh non, ce n'est pas une procédure mais une fonction, et elle se trouve dans un module.
si tu veux conserver une fonction, la seule solution que je vois est de rajouter ce code dans la feuille concernée :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Calculate
End Sub
 
- 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

Réponses
24
Affichages
2 K
Réponses
3
Affichages
1 K
Retour