Couleur de cellule en fonction des valeurs insérée
1 réponse
PB
Bonsoir,
j'ai fais une macro qui à partir d'une liste déroulante (1.2.3.4) permet
de colorer une cellule en fonction d'une de ces valeurs.
Mais le pb c'est qu'il faut recliquer sur la case une 2éme fois pour que
la couleur attendue arrive.
Qui peut m'indiquer comment éviter cela ?
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
MichD
Bonjour,
Tu n'as pas utilisé la bonne procédure événementielle :
Dans le code de ta feuille, j'ai modifié cet événement '--------------------------- Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub '---------------------------
Pour ceci et ça roule ! '---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("D3:D19"))
If Not Rg Is Nothing Then For Each C In Rg Select Case C.Value Case 1 C.Interior.ColorIndex = 43 Case 2 C.Interior.ColorIndex = 6 Case 3 C.Interior.ColorIndex = 44 Case 4 C.Interior.ColorIndex = 3 Case Else C.Interior.ColorIndex = xlNone End Select Next End If End Sub '----------------------------
"PB" a écrit dans le message de groupe de discussion : isoqbv$1rln$
Bonsoir, j'ai fais une macro qui à partir d'une liste déroulante (1.2.3.4) permet de colorer une cellule en fonction d'une de ces valeurs. Mais le pb c'est qu'il faut recliquer sur la case une 2éme fois pour que la couleur attendue arrive. Qui peut m'indiquer comment éviter cela ?
Voir le fichier : http://cjoint.com/?3FixOZyUATO
Merci
Bonjour,
Tu n'as pas utilisé la bonne procédure événementielle :
Dans le code de ta feuille, j'ai modifié cet événement
'---------------------------
Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'---------------------------
Pour ceci et ça roule !
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("D3:D19"))
If Not Rg Is Nothing Then
For Each C In Rg
Select Case C.Value
Case 1
C.Interior.ColorIndex = 43
Case 2
C.Interior.ColorIndex = 6
Case 3
C.Interior.ColorIndex = 44
Case 4
C.Interior.ColorIndex = 3
Case Else
C.Interior.ColorIndex = xlNone
End Select
Next
End If
End Sub
'----------------------------
"PB" a écrit dans le message de groupe de discussion : isoqbv$1rln$1@news.ett.com.ua...
Bonsoir,
j'ai fais une macro qui à partir d'une liste déroulante (1.2.3.4) permet
de colorer une cellule en fonction d'une de ces valeurs.
Mais le pb c'est qu'il faut recliquer sur la case une 2éme fois pour que
la couleur attendue arrive.
Qui peut m'indiquer comment éviter cela ?
Tu n'as pas utilisé la bonne procédure événementielle :
Dans le code de ta feuille, j'ai modifié cet événement '--------------------------- Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub '---------------------------
Pour ceci et ça roule ! '---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("D3:D19"))
If Not Rg Is Nothing Then For Each C In Rg Select Case C.Value Case 1 C.Interior.ColorIndex = 43 Case 2 C.Interior.ColorIndex = 6 Case 3 C.Interior.ColorIndex = 44 Case 4 C.Interior.ColorIndex = 3 Case Else C.Interior.ColorIndex = xlNone End Select Next End If End Sub '----------------------------
"PB" a écrit dans le message de groupe de discussion : isoqbv$1rln$
Bonsoir, j'ai fais une macro qui à partir d'une liste déroulante (1.2.3.4) permet de colorer une cellule en fonction d'une de ces valeurs. Mais le pb c'est qu'il faut recliquer sur la case une 2éme fois pour que la couleur attendue arrive. Qui peut m'indiquer comment éviter cela ?