Valeur d'une cellule en fonction d'une couleur d'une autre cellule avec la VBA

Résolu/Fermé
JN68 Messages postés 16 Date d'inscription lundi 12 février 2018 Statut Membre Dernière intervention 12 décembre 2018 - 11 déc. 2018 à 06:58
JN68 Messages postés 16 Date d'inscription lundi 12 février 2018 Statut Membre Dernière intervention 12 décembre 2018 - 12 déc. 2018 à 11:05
Bonjour

est il possible de changer la valeur d'une cellule en fonction d'une couleur d'une autre cellule?

de E13 à J13 je peux selectionner les couleur disponible en colonne A pour que de E12 à J12 s'inscrivent les valeurs correspondantes en colonne D

Merci d'avance



A voir également:

1 réponse

didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 95
11 déc. 2018 à 10:04
Bonjour,
Je verrais un code du type :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range, Intersection As Range
If Not Intersect(Target, Range("e13:j13")) Is Nothing Then
    For i = 1 To 6
    If Target.Interior.Color = Cells(i, 1).Interior.Color Then
    Target.Value = Cells(i, 4).Value
    End If
    Next i
End If
End Sub
0
JN68 Messages postés 16 Date d'inscription lundi 12 février 2018 Statut Membre Dernière intervention 12 décembre 2018
11 déc. 2018 à 10:41
Merci deja pour votre reponse mais ce nest pas exactement ce dont j'ai besoin:
En fait il faudrait:
SI E13 = rouge alors E12 = 10
SI E13 = jaune alors E12 = 20
SI E13 = bleu alors E12 = 30
SI E13 = violet alors E12 = 40
SI E13 = vert alors E12 = 50
SI E13 = . alors E12 = 0

SI F13 = rouge alors F12 = 10
et ainsi de suite


merci
0
didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 95
11 déc. 2018 à 10:45
Dans ce cas :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range, Intersection As Range
If Not Intersect(Target, Range("e13:j13")) Is Nothing Then
    For i = 1 To 6
    If Target.Interior.Color = Cells(i, 1).Interior.Color Then
    Cells((Target.Row) - 1, Target.Column) = Cells(i, 4).Value
    End If
    Next i
End If
End Sub
0
JN68 Messages postés 16 Date d'inscription lundi 12 février 2018 Statut Membre Dernière intervention 12 décembre 2018
11 déc. 2018 à 11:09
Super merci beaucoup
0
JN68 Messages postés 16 Date d'inscription lundi 12 février 2018 Statut Membre Dernière intervention 12 décembre 2018
11 déc. 2018 à 11:12
et si maintenant jai le tableau avec les couleurs et celui des valeur dans une meme autre feuille?
0
didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 95
11 déc. 2018 à 11:33
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range, Intersection As Range
If Not Intersect(Target, Range("e13:j13")) Is Nothing Then
    For i = 1 To 6
    If Target.Interior.Color = Worksheets(1).Cells(i, 1).Interior.Color Then
    Cells((Target.Row) - 1, Target.Column) = Worksheets(1).Cells(i, 4).Value
    End If
    Next i
End If
End Sub

Vous pouvez remplacer Worksheets(1) par Worksheets("nom de la feuille"), sinon c’est le numéro d’ordre de la feuille.
0