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
Partager