signe en fonction dela variation d'une autre cellule ?
2 réponses
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 ....
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
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
On 7 fév, 21:00, ciolan...@gmail.com 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
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