Copie de la couleur de fond d'une cellule par rapport à une autre
1 réponse
gib
salut
j'ai dans la colonne B un certain nombre de valeur de 1 à 14
avec le code VBA ci-dessous , j'ai une couleur propre pour chacune de ces
valeurs (valeur saisie qui varie)
J'ai dans les colonne E ,F ,G,... la formule suivante :
=SOMMEPROD((E$71:I$105=$B25)*1
je souhaiterais que lorsque la valeur calculé est supérieur à 0,
la couleur de la cellule prenne à la couleur de cellule de la colonne B
Merci pour votre aide
gib
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each CELL In Target
Select Case CELL.Value
Case "1"
CELL.Interior.ColorIndex = 3
Case "2"
CELL.Interior.ColorIndex = 4
Case "3"
CELL.Interior.ColorIndex = 5
Case "4"
CELL.Interior.ColorIndex = 6
Case "5"
CELL.Interior.ColorIndex = 7
Case "6"
CELL.Interior.ColorIndex = 8
Case "7"
CELL.Interior.ColorIndex = 9
Case "8"
CELL.Interior.ColorIndex = 10
Case "9"
CELL.Interior.ColorIndex = 11
Case "10"
CELL.Interior.ColorIndex = 12
Case "11"
CELL.Interior.ColorIndex = 13
Case "12"
CELL.Interior.ColorIndex = 14
Case "13"
CELL.Interior.ColorIndex = 15
Case "14"
CELL.Interior.ColorIndex = 50
Case Empty
CELL.Interior.ColorIndex = xlNone
End Select
Next
End Sub
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
AV
Une alternative à ta macro pour le formatage :
Private Sub Worksheet_SelectionChange(ByVal zz As Range) If zz.Column <> 2 Then Exit Sub For Each C In Selection On Error Resume Next C.Interior.ColorIndex Evaluate("index({3,4,5,6,7,8,9,10,11,12,13,14,15,50},match(" _ & C.Value & ",{1,2,3,4,5,6,7,8,9,10,11,12,13,14},0))") Next End Sub
.> J'ai dans les colonne E ,F ,G,... la formule suivante :
=SOMMEPROD((E$71:I$105=$B25)*1 je souhaiterais que lorsque la valeur calculé est supérieur à 0, la couleur de la cellule prenne à la couleur de cellule de la colonne B
Là, je comprends pas tout ! Il y a des références circulaires qui trainent (colonne E) Je vois pas la disposition de tes données....!
AV
Une alternative à ta macro pour le formatage :
Private Sub Worksheet_SelectionChange(ByVal zz As Range)
If zz.Column <> 2 Then Exit Sub
For Each C In Selection
On Error Resume Next
C.Interior.ColorIndex Evaluate("index({3,4,5,6,7,8,9,10,11,12,13,14,15,50},match(" _
& C.Value & ",{1,2,3,4,5,6,7,8,9,10,11,12,13,14},0))")
Next
End Sub
.> J'ai dans les colonne E ,F ,G,... la formule suivante :
=SOMMEPROD((E$71:I$105=$B25)*1
je souhaiterais que lorsque la valeur calculé est supérieur à 0,
la couleur de la cellule prenne à la couleur de cellule de la colonne B
Là, je comprends pas tout !
Il y a des références circulaires qui trainent (colonne E)
Je vois pas la disposition de tes données....!
Private Sub Worksheet_SelectionChange(ByVal zz As Range) If zz.Column <> 2 Then Exit Sub For Each C In Selection On Error Resume Next C.Interior.ColorIndex Evaluate("index({3,4,5,6,7,8,9,10,11,12,13,14,15,50},match(" _ & C.Value & ",{1,2,3,4,5,6,7,8,9,10,11,12,13,14},0))") Next End Sub
.> J'ai dans les colonne E ,F ,G,... la formule suivante :
=SOMMEPROD((E$71:I$105=$B25)*1 je souhaiterais que lorsque la valeur calculé est supérieur à 0, la couleur de la cellule prenne à la couleur de cellule de la colonne B
Là, je comprends pas tout ! Il y a des références circulaires qui trainent (colonne E) Je vois pas la disposition de tes données....!