Bonjour à tous
j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour
me mermettre de compter des cellules de couleurs.
Ce code est placé dans un module
J'aurai voulu savoir comment faire pour que le calcul soit automatique à
chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque
fois.
Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then
temp = temp + 1
End If
Next c
CompteCouleur = temp
Calculate
End Function
Function CompteCouleur2(champ As Range, couleur As Integer)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur Then
temp = temp + 1
End If
Next c
CompteCouleur2 = temp
Calculate
End Function
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonjour, C'est bien pourquoi il a déjà largement été évoqué sur ce forum que vouloir calculer avec des couleurs est inutile en l'état et pourtant dans cette tentative de code il y est fait au mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter, lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur, n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner .. Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que d'aucuns voudraient pouvoir alors mettre à jour les liaisons de couleurs obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour me mermettre de compter des cellules de couleurs. Ce code est placé dans un module J'aurai voulu savoir comment faire pour que le calcul soit automatique à chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque fois. Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then temp = temp + 1 End If Next c CompteCouleur = temp Calculate End Function
Function CompteCouleur2(champ As Range, couleur As Integer) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur Then temp = temp + 1 End If Next c CompteCouleur2 = temp Calculate End Function
-- - -
Bonjour,
C'est bien pourquoi il a déjà largement été évoqué sur ce forum
que vouloir calculer avec des couleurs est inutile en l'état
et pourtant dans cette tentative de code il y est fait au
mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter,
lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur,
n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner ..
Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que
d'aucuns voudraient pouvoir alors mettre à jour les liaisons de
couleurs obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous
j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour
me mermettre de compter des cellules de couleurs.
Ce code est placé dans un module
J'aurai voulu savoir comment faire pour que le calcul soit automatique à
chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque
fois.
Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then
temp = temp + 1
End If
Next c
CompteCouleur = temp
Calculate
End Function
Function CompteCouleur2(champ As Range, couleur As Integer)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur Then
temp = temp + 1
End If
Next c
CompteCouleur2 = temp
Calculate
End Function
Bonjour, C'est bien pourquoi il a déjà largement été évoqué sur ce forum que vouloir calculer avec des couleurs est inutile en l'état et pourtant dans cette tentative de code il y est fait au mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter, lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur, n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner .. Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que d'aucuns voudraient pouvoir alors mettre à jour les liaisons de couleurs obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour me mermettre de compter des cellules de couleurs. Ce code est placé dans un module J'aurai voulu savoir comment faire pour que le calcul soit automatique à chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque fois. Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then temp = temp + 1 End If Next c CompteCouleur = temp Calculate End Function
Function CompteCouleur2(champ As Range, couleur As Integer) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur Then temp = temp + 1 End If Next c CompteCouleur2 = temp Calculate End Function
-- - -
lSteph
...pour poursuivre, exemple de contournement visant à obtenir plus simplement ce que tu souhaites envisager d'utiliser exclusivement une macro pour colorer les cellules et ainsi y associer le recalcul.
Calculate
Cdlt.
lSteph
-- - -
...pour poursuivre, exemple de contournement visant à obtenir plus
simplement ce que tu souhaites
envisager d'utiliser exclusivement une macro pour colorer les cellules
et ainsi y associer le recalcul.
...pour poursuivre, exemple de contournement visant à obtenir plus simplement ce que tu souhaites envisager d'utiliser exclusivement une macro pour colorer les cellules et ainsi y associer le recalcul.
Calculate
Cdlt.
lSteph
-- - -
fredbzr
bonjour lSteph merci pour ton explication je me forcerai à ne pas oublier de faire F9 bonne journée "lSteph" a écrit dans le message de news:
Bonjour, C'est bien pourquoi il a déjà largement été évoqué sur ce forum que vouloir calculer avec des couleurs est inutile en l'état et pourtant dans cette tentative de code il y est fait au mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter, lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur, n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner .. Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que d'aucuns voudraient pouvoir alors mettre à jour les liaisons de couleurs obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour me mermettre de compter des cellules de couleurs. Ce code est placé dans un module J'aurai voulu savoir comment faire pour que le calcul soit automatique à chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque fois. Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then temp = temp + 1 End If Next c CompteCouleur = temp Calculate End Function
Function CompteCouleur2(champ As Range, couleur As Integer) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur Then temp = temp + 1 End If Next c CompteCouleur2 = temp Calculate End Function
-- - -
bonjour lSteph
merci pour ton explication
je me forcerai à ne pas oublier de faire F9
bonne journée
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
mn.72837d6c48190c35.62733@frite.fr...
Bonjour,
C'est bien pourquoi il a déjà largement été évoqué sur ce forum
que vouloir calculer avec des couleurs est inutile en l'état
et pourtant dans cette tentative de code il y est fait au
mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter,
lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur,
n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner ..
Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que
d'aucuns voudraient pouvoir alors mettre à jour les liaisons de couleurs
obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous
j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo)
pour me mermettre de compter des cellules de couleurs.
Ce code est placé dans un module
J'aurai voulu savoir comment faire pour que le calcul soit automatique à
chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque
fois.
Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then
temp = temp + 1
End If
Next c
CompteCouleur = temp
Calculate
End Function
Function CompteCouleur2(champ As Range, couleur As Integer)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleur Then
temp = temp + 1
End If
Next c
CompteCouleur2 = temp
Calculate
End Function
bonjour lSteph merci pour ton explication je me forcerai à ne pas oublier de faire F9 bonne journée "lSteph" a écrit dans le message de news:
Bonjour, C'est bien pourquoi il a déjà largement été évoqué sur ce forum que vouloir calculer avec des couleurs est inutile en l'état et pourtant dans cette tentative de code il y est fait au mieux puisque bien précisé Application.Volatile,
le Hic c'est que
Volatile force une fonction à se réexecuter, lorsqu'il y a un recalcul dans la feuille
MAIS
Un changement de format, soit de couleur, n'a pas vocation à précisémentà provoquer un recalcul.
Diverses solutions complexes seraient evisageables pour contourner .. Je ne suis pas sûr qu'un tel dispositif soit souhaitable, d'autant que d'aucuns voudraient pouvoir alors mettre à jour les liaisons de couleurs obtenues par calcul.
Cdlt.
lSteph
fredbzr a utilisé son clavier pour écrire :
Bonjour à tous j'utilise le code ci-dessous (merci à Jacques Boigontier sur Excelabo) pour me mermettre de compter des cellules de couleurs. Ce code est placé dans un module J'aurai voulu savoir comment faire pour que le calcul soit automatique à chaque fois qu'il y a un changement sans être obligé de faire F9 à chaque fois. Merci de votre aide
Function CompteCouleur(champ As Range, couleur As Range) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then temp = temp + 1 End If Next c CompteCouleur = temp Calculate End Function
Function CompteCouleur2(champ As Range, couleur As Integer) Application.Volatile Dim c, temp temp = 0 For Each c In champ If c.Interior.ColorIndex = couleur Then temp = temp + 1 End If Next c CompteCouleur2 = temp Calculate End Function