OVH Cloud OVH Cloud

signe en fonction dela variation d'une autre cellule ?

2 réponses
Avatar
ciolandre
bonjour

pour l'elaboration d'un tableau de bord, je bloque sur un sujet.

exemple

en A1 j'ai 65%

si A1 > 50 % alors la cellule B1 sera verte

la pas de soucis MFC

le probleme est lors de la variation de cette valeur en A1

si lors de la nouvelle saisie j'ai 55 %,

ma cellule B1 sera toujours verte car l'objectif est atteint mais la
tendance va =E0 la baisse, donc en C1 j'aimerais avoirs un "-"

si en revanche toujours lors de la nouvelle saisie, j'ai 85 % par
exemple
en C1 j'aurais un "+"

donc en gros comment faire pour garder en memoire la valeur de la
cellule en A1 avant de ressaisir la noiuvelle valeur pour faire varier
cette tendance.

j'espere avoir =E9t=E9 assez clair.

cordialement

merci beaucoup de votre aide, un jour je serais bon ....

2 réponses

Avatar
JB
On 7 fév, 21:00, wrote:
bonjour

pour l'elaboration d'un tableau de bord, je bloque sur un sujet.

exemple

en A1 j'ai 65%

si A1 > 50 % alors la cellule B1 sera verte

la pas de soucis MFC

le probleme est lors de la variation de cette valeur en A1

si lors de la nouvelle saisie j'ai 55 %,

ma cellule B1 sera toujours verte car l'objectif est atteint mais la
tendance va à la baisse, donc en C1 j'aimerais avoirs un "-"

si en revanche toujours lors de la nouvelle saisie, j'ai 85 % par
exemple
en C1 j'aurais un "+"

donc en gros comment faire pour garder en memoire la valeur de la
cellule en A1 avant de ressaisir la noiuvelle valeur pour faire varier
cette tendance.

j'espere avoir été assez clair.

cordialement

merci beaucoup de votre aide, un jour je serais bon ....


Bonsoir,

Version 1: on mémorise dans la colonne à droite

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Offset(0, 1) = [mémo]
Application.EnableEvents = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34)
& Target.Value & Chr(34)
End If
End Sub

Version2: on mémorise en commentaire

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Application.EnableEvents = False
If Target.Comment Is Nothing Then Target.AddComment ' Création
commentaire
Target.Comment.Text Text:=[mémo]
Target.Comment.Shape.Height = 15
Target.Comment.Shape.Width = 30
Application.EnableEvents = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34)
& Target.Value & Chr(34)
End If
End Sub

Function RecupCommentaire(c)
Application.Volatile
If c.NoteText = "" Then
RecupCommentaire = 0
Else
RecupCommentaire = CDbl(Replace(c.Comment.Text, Chr(10), " "))
End If
End Function

http://cjoint.com/?chxAxw1hpB

Cordialement JB

Avatar
ciolandre
merci JB pour cette reponse rapide

cependant est ce que cela est possible sans vba ?