Bonjour à tous.

Version d'EXCEL : 2003
J'ai crée une fonction qui calcule la moyenne d'une partie de colonne à condition que la couleur du texte ne soit pas rouge.
La première fois que cette fonction personnalisée est entrée dans une cellule elle fonctionne parfaitement bien.
Le problème est que si je passe la couleur d'un nombre en rouge la fonction n'est plus opérationnelle.
Je dois cliquer sur la cellule, cliquer dans la zone d'édition et faire "Entrée" et là : j'ai le résultat attendu .
Ma demande : comment faire en sorte pour que le calcul se fasse automatiquement dès que la couleur d'un nombre est changé ??
Car cette fonction est incluse dans une centaine de cellule.
Je peux fournir le code, mais il fonctionne parfaitement bien et je ne pense pas qu'il soit en cause, c'est bien le déclenchement de cette fonction qui pose problème.
Bien sur le classeur et la feuille sont en calcul automatique.
Merci de vos réponses.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Function CalMoy(Cel01 As Range, Cel02 As Range)
    Dim TabAdr
    Dim LigDeb, LigFin, LigInt As Integer
    Dim ColInt As String
    Dim Total As Long
    Dim Nb As Integer
    Dim AdrCel
 
    ColInt = Split(Cel01.Address(), "$")(1)
    LigDeb = CInt((Split(Cel01.Address(), "$")(2)))
 
    LigFin = CInt(Split(Cel02.Address(), "$")(2))
 
    For LigInt = LigDeb To LigFin
        If Range(ColInt & LigInt).Font.Color = 0 Then
            Total = Total + Range(ColInt & LigInt)
            Nb = Nb + 1
        End If
    Next
    CalMoy = Total / Nb
End Function