chers tous,
je dispose dans ma boite a outils d'une macro VBA (fonction dans un module),
qui peu etre appeler n'importe ou dans mon classeur.
exemple :
function sinus(x) as double
sinus = sin(x)
end function
sur la cellule ou s'affichera le résultat, je souhaiterais effectuer un test
sur le résultat de ma fonction.
description de ma demande, si le résultat de ma fonction est -1 alors la
couleur de font de ma cellule recevant le résultat est rouge.
vous comprenez que la fonction sinus peu etre appelé n'importe ou dans le
classeur, et que je souhaite que la couleur rouge apparaisse a chaque fois
que le résultat est -1.
j'ai essayé une méthode avec activecell, mais celle ci change la couleur de
la cellule active après avoir validé mon appel de fonction, et non pas la
cellule ou je fais afficher mon résultat.
je remercie par avance votre réponse et votre intéret à excel.
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 Popêtre, Notant que sinus n'est qu'un exemple bien sûr puisque cette fonction existe déjà:
je dispose dans ma boite a outils d'une macro VBA (fonction dans un module), il faut distinguer les deux, macro(sub) et fonction(function):
dans une macro qui colorie tu peux appeler une fonction mais une fonction renvoie simplement un résultat et ne colorie pas.
qui peut etre appeler n'importe ou dans mon classeur. Tu pourrais utiliser un évennement _change
mais si en plus il faut étendre cela au classeur il faudrait utiliser un évennement de workbook et boucler conditionnellement sur toutes les cellules: c'est lourd!
Une solution simple serait plus précisément de cibler la plage (ligne ou colonne) réservée au résultat de la fonction et d'y appliquer une mise en forme conditionnelle. (voir menu format) En début de ta fonction tu peux ajouter application.volatile si des recalculs s'imposent pour tenir compte d'une modification.
Cordialement
lSteph
"le pop-être" <le pop-ê a écrit dans le message de news:
chers tous, je dispose dans ma boite a outils d'une macro VBA (fonction dans un module), qui peu etre appeler n'importe ou dans mon classeur.
exemple : function sinus(x) as double sinus = sin(x) end function
sur la cellule ou s'affichera le résultat, je souhaiterais effectuer un test sur le résultat de ma fonction.
description de ma demande, si le résultat de ma fonction est -1 alors la couleur de font de ma cellule recevant le résultat est rouge.
vous comprenez que la fonction sinus peu etre appelé n'importe ou dans le classeur, et que je souhaite que la couleur rouge apparaisse a chaque fois que le résultat est -1.
j'ai essayé une méthode avec activecell, mais celle ci change la couleur de la cellule active après avoir validé mon appel de fonction, et non pas la cellule ou je fais afficher mon résultat.
je remercie par avance votre réponse et votre intéret à excel.
cordialement
le pop-être.
Bonjour Popêtre,
Notant que sinus n'est qu'un exemple bien sûr puisque cette fonction
existe déjà:
je dispose dans ma boite a outils d'une macro VBA (fonction dans un
module),
il faut distinguer les deux, macro(sub) et fonction(function):
dans une macro qui colorie tu peux appeler une fonction mais une fonction
renvoie simplement un résultat et ne colorie pas.
qui peut etre appeler n'importe ou dans mon classeur.
Tu pourrais utiliser un évennement _change
mais si en plus il faut étendre cela au classeur il faudrait utiliser un
évennement de workbook et boucler conditionnellement
sur toutes les cellules: c'est lourd!
Une solution simple serait plus précisément de cibler la plage (ligne ou
colonne) réservée au résultat de la fonction
et d'y appliquer une mise en forme conditionnelle.
(voir menu format)
En début de ta fonction tu peux ajouter application.volatile si des
recalculs s'imposent pour tenir compte d'une modification.
Cordialement
lSteph
"le pop-être" <le pop-être@discussions.microsoft.com> a écrit dans le
message de news: 9A3121E1-E6A8-42A9-8495-11D1949F6A60@microsoft.com...
chers tous,
je dispose dans ma boite a outils d'une macro VBA (fonction dans un
module),
qui peu etre appeler n'importe ou dans mon classeur.
exemple :
function sinus(x) as double
sinus = sin(x)
end function
sur la cellule ou s'affichera le résultat, je souhaiterais effectuer un
test
sur le résultat de ma fonction.
description de ma demande, si le résultat de ma fonction est -1 alors la
couleur de font de ma cellule recevant le résultat est rouge.
vous comprenez que la fonction sinus peu etre appelé n'importe ou dans le
classeur, et que je souhaite que la couleur rouge apparaisse a chaque fois
que le résultat est -1.
j'ai essayé une méthode avec activecell, mais celle ci change la couleur
de
la cellule active après avoir validé mon appel de fonction, et non pas la
cellule ou je fais afficher mon résultat.
je remercie par avance votre réponse et votre intéret à excel.
Bonjour Popêtre, Notant que sinus n'est qu'un exemple bien sûr puisque cette fonction existe déjà:
je dispose dans ma boite a outils d'une macro VBA (fonction dans un module), il faut distinguer les deux, macro(sub) et fonction(function):
dans une macro qui colorie tu peux appeler une fonction mais une fonction renvoie simplement un résultat et ne colorie pas.
qui peut etre appeler n'importe ou dans mon classeur. Tu pourrais utiliser un évennement _change
mais si en plus il faut étendre cela au classeur il faudrait utiliser un évennement de workbook et boucler conditionnellement sur toutes les cellules: c'est lourd!
Une solution simple serait plus précisément de cibler la plage (ligne ou colonne) réservée au résultat de la fonction et d'y appliquer une mise en forme conditionnelle. (voir menu format) En début de ta fonction tu peux ajouter application.volatile si des recalculs s'imposent pour tenir compte d'une modification.
Cordialement
lSteph
"le pop-être" <le pop-ê a écrit dans le message de news:
chers tous, je dispose dans ma boite a outils d'une macro VBA (fonction dans un module), qui peu etre appeler n'importe ou dans mon classeur.
exemple : function sinus(x) as double sinus = sin(x) end function
sur la cellule ou s'affichera le résultat, je souhaiterais effectuer un test sur le résultat de ma fonction.
description de ma demande, si le résultat de ma fonction est -1 alors la couleur de font de ma cellule recevant le résultat est rouge.
vous comprenez que la fonction sinus peu etre appelé n'importe ou dans le classeur, et que je souhaite que la couleur rouge apparaisse a chaque fois que le résultat est -1.
j'ai essayé une méthode avec activecell, mais celle ci change la couleur de la cellule active après avoir validé mon appel de fonction, et non pas la cellule ou je fais afficher mon résultat.
je remercie par avance votre réponse et votre intéret à excel.