Pb Utilisation fonction comptage des cellules colorées
7 réponses
HD
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent à 14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
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
anomymousA
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent à 14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
HD
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Si je t'envoyais mon classeur en exemple?
Hervé
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message
de news: 47FF8460-E5A2-4213-BD64-D486A4A9EFC0@microsoft.com...
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en
dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire
des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent à
14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
anomymousA
re,
Désolé, je réponds sur le forum mais je ne fais pas de réception de fichiers. Si tu souhaites continuer, réexplique mieux les conditions d'occurence de ton erreur. Quant à moi, je reprends le fil demain matin.
A+
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
re,
Désolé, je réponds sur le forum mais je ne fais pas de réception de
fichiers. Si tu souhaites continuer, réexplique mieux les conditions
d'occurence de ton erreur.
Quant à moi, je reprends le fil demain matin.
A+
Si je t'envoyais mon classeur en exemple?
Hervé
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message
de news: 47FF8460-E5A2-4213-BD64-D486A4A9EFC0@microsoft.com...
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en
dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire
des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent à
14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
Désolé, je réponds sur le forum mais je ne fais pas de réception de fichiers. Si tu souhaites continuer, réexplique mieux les conditions d'occurence de ton erreur. Quant à moi, je reprends le fil demain matin.
A+
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Benead
Bonjour HD,
Envoie
Benead XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Bonjour HD,
Envoie
Benead
XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple?
Hervé
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le message
de news: 47FF8460-E5A2-4213-BD64-D486A4A9EFC0@microsoft.com...
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en
dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire
des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent à
14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Benead
Après avoir reçu et regarder le fichier de HD, je me permets de corriger la fonction de Denis (pourvu qu'il ne m'en veuille pas !):
Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ c.Parent.Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function
En fait il manquait simplement c.Parent. devant Range(Application.Caller.Address). Explications : la couleur de la cellule c qui se trouve sur la feuille n°1 est comparée à "Range(Application.Caller.Address)" qui est fait obligatoirement à la référence à feuille active. Le résultat de la fonction devenait donc complètement abracadabrant !
A+ Benead XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Après avoir reçu et regarder le fichier de HD, je me permets de corriger la fonction de Denis (pourvu qu'il ne m'en
veuille pas !):
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
c.Parent.Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
En fait il manquait simplement c.Parent. devant Range(Application.Caller.Address).
Explications : la couleur de la cellule c qui se trouve sur la feuille n°1 est comparée à
"Range(Application.Caller.Address)" qui est fait obligatoirement à la référence à feuille active. Le résultat de la
fonction devenait donc complètement abracadabrant !
A+
Benead
XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead
XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple?
Hervé
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le
message de news: 47FF8460-E5A2-4213-BD64-D486A4A9EFC0@microsoft.com...
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux
en dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour
faire des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées
passent à 14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout
redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
Après avoir reçu et regarder le fichier de HD, je me permets de corriger la fonction de Denis (pourvu qu'il ne m'en veuille pas !):
Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ c.Parent.Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function
En fait il manquait simplement c.Parent. devant Range(Application.Caller.Address). Explications : la couleur de la cellule c qui se trouve sur la feuille n°1 est comparée à "Range(Application.Caller.Address)" qui est fait obligatoirement à la référence à feuille active. Le résultat de la fonction devenait donc complètement abracadabrant !
A+ Benead XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
AV
Une fonction comptabilisant les cellules colorées n'est pas une vraie bonne idée car le changement de format d'une cellule n'entraine aucun recalcul et donc le résultat de la fonction n'est pas mis à jour !
Une bonne solution est d'utiliser la MEFC pour le "barbouillage" et une formule utilisant le(s) tes(s) logique(s) contenu(s) dans la MEFC pour le comptage
AV
Une fonction comptabilisant les cellules colorées n'est pas une vraie bonne idée
car le changement de format d'une cellule n'entraine aucun recalcul et donc le
résultat de la fonction n'est pas mis à jour !
Une bonne solution est d'utiliser la MEFC pour le "barbouillage" et une formule
utilisant le(s) tes(s) logique(s) contenu(s) dans la MEFC pour le comptage
Une fonction comptabilisant les cellules colorées n'est pas une vraie bonne idée car le changement de format d'une cellule n'entraine aucun recalcul et donc le résultat de la fonction n'est pas mis à jour !
Une bonne solution est d'utiliser la MEFC pour le "barbouillage" et une formule utilisant le(s) tes(s) logique(s) contenu(s) dans la MEFC pour le comptage
AV
HD
Ca marche nickel. Merci beaucoup.
Hervé
"Benead" a écrit dans le message de news:
Après avoir reçu et regarder le fichier de HD, je me permets de corriger la fonction de Denis (pourvu qu'il ne m'en veuille pas !):
Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ c.Parent.Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function
En fait il manquait simplement c.Parent. devant Range(Application.Caller.Address). Explications : la couleur de la cellule c qui se trouve sur la feuille n°1 est comparée à "Range(Application.Caller.Address)" qui est fait obligatoirement à la référence à feuille active. Le résultat de la fonction devenait donc complètement abracadabrant !
A+ Benead XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------
Ca marche nickel.
Merci beaucoup.
Hervé
"Benead" <NoSpam-benead.forumxl@club-internet.fr> a écrit dans le message de
news: 41B770D1.2070201@club-internet.fr...
Après avoir reçu et regarder le fichier de HD, je me permets de corriger
la fonction de Denis (pourvu qu'il ne m'en veuille pas !):
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
c.Parent.Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
En fait il manquait simplement c.Parent. devant
Range(Application.Caller.Address).
Explications : la couleur de la cellule c qui se trouve sur la feuille n°1
est comparée à "Range(Application.Caller.Address)" qui est fait
obligatoirement à la référence à feuille active. Le résultat de la
fonction devenait donc complètement abracadabrant !
A+
Benead
XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead
XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple?
Hervé
"anomymousA" <anomymousA@discussions.microsoft.com> a écrit dans le
message de news: 47FF8460-E5A2-4213-BD64-D486A4A9EFC0@microsoft.com...
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en
dire
+ ?
Bonjour,
J'utilise dans une feuille la fonction de Denis Michon pour compter
les
cellules colorées.
J'ai mis le code en dessous.
Les données récoltées sont utilisées dans une autre feuille pour faire
des
calculs.
Le problème survient dans cette autre feuille. Dès que j'y modifie une
formule, le calcul de mes cellules colorées se remet à jour et devient
complètement aberrant. Toutes les valeurs de cellules colorées passent
à 14.
Je suis obligé de revenir à ma feuille contenant les couleurs, puis de
mettre les champs à jour avec l'option "calculate", et là tout
redevient
normal.
Quelqu'un à une idée sur ce qui se passe?
Par avance merci
Hervé
'----------------------- de Denis Michon-------------
Function Couleur(Rg As Range) As Long
Dim B As Long
Application.Volatile
For Each c In Rg
If c.Interior.ColorIndex = _
Range(Application.Caller.Address). _
Interior.ColorIndex Then
B = B + 1
End If
Next
Couleur = B
End Function
-----------------------
Après avoir reçu et regarder le fichier de HD, je me permets de corriger la fonction de Denis (pourvu qu'il ne m'en veuille pas !):
Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ c.Parent.Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function
En fait il manquait simplement c.Parent. devant Range(Application.Caller.Address). Explications : la couleur de la cellule c qui se trouve sur la feuille n°1 est comparée à "Range(Application.Caller.Address)" qui est fait obligatoirement à la référence à feuille active. Le résultat de la fonction devenait donc complètement abracadabrant !
A+ Benead XL97
Benead a écrit:
Bonjour HD,
Envoie
Benead XL97
HD a écrit:
Si je t'envoyais mon classeur en exemple? Hervé
"anomymousA" a écrit dans le message de news:
bonjour,
ai essayé avec les élements que tu donnes. pas de problème. tu peux en dire + ?
Bonjour, J'utilise dans une feuille la fonction de Denis Michon pour compter les cellules colorées. J'ai mis le code en dessous. Les données récoltées sont utilisées dans une autre feuille pour faire des calculs. Le problème survient dans cette autre feuille. Dès que j'y modifie une formule, le calcul de mes cellules colorées se remet à jour et devient complètement aberrant. Toutes les valeurs de cellules colorées passent à 14. Je suis obligé de revenir à ma feuille contenant les couleurs, puis de mettre les champs à jour avec l'option "calculate", et là tout redevient normal. Quelqu'un à une idée sur ce qui se passe? Par avance merci Hervé
'----------------------- de Denis Michon------------- Function Couleur(Rg As Range) As Long Dim B As Long Application.Volatile For Each c In Rg If c.Interior.ColorIndex = _ Range(Application.Caller.Address). _ Interior.ColorIndex Then B = B + 1 End If Next Couleur = B End Function -----------------------