Bonjour,
J'utilise une même macro que j'appelle soit lorsque l'on sélectionne la feuille, soit lorsque l'on change le contenu d'une cellule bien précise.
Lorsqu'elle est lancée via l'évènement worksheet.activate, tout fonctionne bien.
Lorsqu'elle est lancée via l'évènement worksheet.change, il y a de gros soucis.
Après plusieurs recherches, la fonction ci dessous présente dans mon classeur semble être une des raisons de l'échec de la macro via worksheet_change puisque lorsque je la supprime du classeur, la macro fonctionne sans soucis.
Mais, j'ai trouvé une autre source d'erreur.
Dans mon fichier la sélection de la valeur de la cellule au départ de la macro, toujours par l'évènement worksheet_change, se fait par une validation de donnée.
Lorsque je supprime cette validation de donnée en tapant moi même la valeur, tout fonctionne très bien y compris avec la présence de la fonction citée plus haut.
Je précise que la version d'Excel ou il y a des erreurs est 2003. Sur une version 2007, il n'y a aucun soucis.
Cela fait maintenant plusieurs jours que je teste diverses solutions mais sans succès. Le classeur n'est pas complet et il est possible que le classeur complet soit nécessaire pour trouver une solution pérenne.
Avec l'aide d'un internaute, une solution possible est l'utilisation d'une combobox, mais la feuille incriminée sera dupliquée à un moment ou un autre et, avec cette combobox, la macro dupliquant la feuille ne fonctionne plus.
J'espère que quelqu'un pourra me donner une solution sinon je fais finir par tournée en bourrique.
Merci d'avance à tous ceux qui se pencherons sur cette problématique pour le moins déconcertante.
J'utilise une même macro que j'appelle soit lorsque l'on sélectionne la feuille, soit lorsque l'on change le contenu d'une cellule bien précise.
Lorsqu'elle est lancée via l'évènement worksheet.activate, tout fonctionne bien.
Lorsqu'elle est lancée via l'évènement worksheet.change, il y a de gros soucis.
Après plusieurs recherches, la fonction ci dessous présente dans mon classeur semble être une des raisons de l'échec de la macro via worksheet_change puisque lorsque je la supprime du classeur, la macro fonctionne sans soucis.
Code:
Function SommeCouleurFond(champ As Range, couleurFond)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFond = temp
End Function
Mais, j'ai trouvé une autre source d'erreur.
Dans mon fichier la sélection de la valeur de la cellule au départ de la macro, toujours par l'évènement worksheet_change, se fait par une validation de donnée.
Lorsque je supprime cette validation de donnée en tapant moi même la valeur, tout fonctionne très bien y compris avec la présence de la fonction citée plus haut.
Je précise que la version d'Excel ou il y a des erreurs est 2003. Sur une version 2007, il n'y a aucun soucis.
Cela fait maintenant plusieurs jours que je teste diverses solutions mais sans succès. Le classeur n'est pas complet et il est possible que le classeur complet soit nécessaire pour trouver une solution pérenne.
Avec l'aide d'un internaute, une solution possible est l'utilisation d'une combobox, mais la feuille incriminée sera dupliquée à un moment ou un autre et, avec cette combobox, la macro dupliquant la feuille ne fonctionne plus.
J'espère que quelqu'un pourra me donner une solution sinon je fais finir par tournée en bourrique.
Merci d'avance à tous ceux qui se pencherons sur cette problématique pour le moins déconcertante.