S
sidt
Guest
Bonjour,
Voici mon problème (deux jours que je cherche en vain):
J'ai deux feuilles de calculs et une petite macro VBA (récupérée et un peu modifiée) qui permet de calculer une somme des lignes qui ont la même couleur.
Donc sur ma feuille1 je choisis d'afficher ma SommeCouleur des lignes qui sont en feuille2. Tout marche nickel sauf un détail : si je colorie une nouvelle ligne dans ma feuille2, ma SommeCouleur ne s'actualise pas automatiquement (il me faut rentrer dans la cellule et appuyer sur "entrée"). La touche F9 ne change rien à ce problème.
Comme j'utilise cette fonction dans toutes les cellules de ma feuille1, je ne peux pas me permettre de reactualiser chaque cellule à la main dès que je modifie une couleur..... Si quelqu'un à une solution, cela serait super gentil de me la communiquer.
Exemple d'une cellule feuille1:
=SommeCouleur(feuille2!P2😛560;A6)
La macro:
---------
Public Function SommeCouleur(Plage As Range, CelCouleur As Range) As Long
Dim Couleur
SommeCouleur = 0
Couleur = CelCouleur.Interior.ColorIndex
For Each Cell In Plage
If Cell.Interior.ColorIndex = Couleur Then SommeCouleur = SommeCouleur + Cell.Value
Next
End Function
Merci d'avance
Voici mon problème (deux jours que je cherche en vain):
J'ai deux feuilles de calculs et une petite macro VBA (récupérée et un peu modifiée) qui permet de calculer une somme des lignes qui ont la même couleur.
Donc sur ma feuille1 je choisis d'afficher ma SommeCouleur des lignes qui sont en feuille2. Tout marche nickel sauf un détail : si je colorie une nouvelle ligne dans ma feuille2, ma SommeCouleur ne s'actualise pas automatiquement (il me faut rentrer dans la cellule et appuyer sur "entrée"). La touche F9 ne change rien à ce problème.
Comme j'utilise cette fonction dans toutes les cellules de ma feuille1, je ne peux pas me permettre de reactualiser chaque cellule à la main dès que je modifie une couleur..... Si quelqu'un à une solution, cela serait super gentil de me la communiquer.
Exemple d'une cellule feuille1:
=SommeCouleur(feuille2!P2😛560;A6)
La macro:
---------
Public Function SommeCouleur(Plage As Range, CelCouleur As Range) As Long
Dim Couleur
SommeCouleur = 0
Couleur = CelCouleur.Interior.ColorIndex
For Each Cell In Plage
If Cell.Interior.ColorIndex = Couleur Then SommeCouleur = SommeCouleur + Cell.Value
Next
End Function
Merci d'avance