OVH Cloud OVH Cloud

Prb dans une macro

5 réponses
Avatar
Benoit Thevenette
Salut à tous,
je cherche à faire un changement de couleur de cellule automatique suivant
la valeur contenue dedans
Si la valeur > 0 alors couleur Rouge sinon couleur automatique

j'ai donc fais cette macro :
Function toto(cell1 As Range, cell2 As Range, cellule As Range) As Variant
Set Cell = cellule
If cell1.Value - cell2.Value > 0 Then
Cell.Interior.ColorIndex = 3
Cell.Interior.Pattern = xlSolid
Else
Cell.Interior.ColorIndex = xlNone
End If
toto = cell1.Value - cell2.Value
End Function

et je déclare dans ma cellule C1 :
=toto(A1;B1;C1)
avec A1 = 10 et B1 = 6

A la sortie C1 vaut 4 mais la cellule ne change pas de couleur

Quelqu'un aurait une piste ?

Merci à vous

5 réponses

Avatar
AV
Une fonction ne fait rien d'autre que renvoyer une valeur !
Donc mauvaise piste ...
La mise en forme conditionnelle est faite pour ton problème

AV

"Benoit Thevenette" a écrit dans le message
news: bg36pk$mp2$
Salut à tous,
je cherche à faire un changement de couleur de cellule automatique suivant
la valeur contenue dedans
Si la valeur > 0 alors couleur Rouge sinon couleur automatique

j'ai donc fais cette macro :
Function toto(cell1 As Range, cell2 As Range, cellule As Range) As Variant
Set Cell = cellule
If cell1.Value - cell2.Value > 0 Then
Cell.Interior.ColorIndex = 3
Cell.Interior.Pattern = xlSolid
Else
Cell.Interior.ColorIndex = xlNone
End If
toto = cell1.Value - cell2.Value
End Function

et je déclare dans ma cellule C1 :
=toto(A1;B1;C1)
avec A1 = 10 et B1 = 6

A la sortie C1 vaut 4 mais la cellule ne change pas de couleur

Quelqu'un aurait une piste ?

Merci à vous




Avatar
Benoit Thevenette
Fabuleux
Je connaissais pas

Merci


"AV" a écrit dans le message news:

Une fonction ne fait rien d'autre que renvoyer une valeur !
Donc mauvaise piste ...
La mise en forme conditionnelle est faite pour ton problème

AV


Avatar
Daniel.M
Salut Benoit,

Une fonction VBA (appelée depuis une feuille de calcul) retourne une valeur
à la cellule depuis laquelle elle fut appelée. En aucun cas, elle ne modifie
la couleur et/ou fait quelque autre OPÉRATION sur les cellules, sur ladite
feuille et/ou sur le classeur.

Salutations,

Daniel M.

"Benoit Thevenette" wrote in message
news:bg36pk$mp2$
Salut à tous,
je cherche à faire un changement de couleur de cellule automatique suivant
la valeur contenue dedans
Si la valeur > 0 alors couleur Rouge sinon couleur automatique

j'ai donc fais cette macro :
Function toto(cell1 As Range, cell2 As Range, cellule As Range) As Variant
Set Cell = cellule
If cell1.Value - cell2.Value > 0 Then
Cell.Interior.ColorIndex = 3
Cell.Interior.Pattern = xlSolid
Else
Cell.Interior.ColorIndex = xlNone
End If
toto = cell1.Value - cell2.Value
End Function

et je déclare dans ma cellule C1 :
=toto(A1;B1;C1)
avec A1 = 10 et B1 = 6

A la sortie C1 vaut 4 mais la cellule ne change pas de couleur

Quelqu'un aurait une piste ?

Merci à vous




Avatar
AV
Fabuleux
Je connaissais pas


Si tu veux avoir une idée des possibilités offertes :
http://disciplus.simplex.free.fr/classeursxl/av-mefc.zip

AV


Merci


"AV" a écrit dans le message news:

Une fonction ne fait rien d'autre que renvoyer une valeur !
Donc mauvaise piste ...
La mise en forme conditionnelle est faite pour ton problème

AV







Avatar
Benoit Thevenette
Super le fichier !!!

Merci beaucoup !


"AV" a écrit dans le message news:

Fabuleux
Je connaissais pas


Si tu veux avoir une idée des possibilités offertes :
http://disciplus.simplex.free.fr/classeursxl/av-mefc.zip

AV