Je recherche le même principe dans la colonne 5 avec un nom (virement, banque, etc....) lorsque je saisirai j'obtiendrais une couleur.
extrait de ton code dans mon message....JE NE COMPRENDS PAS
Case "3" Cel.Interior.ColorIndex = 34 '<<<<<<=========== dans le cas ou valeur saisie = 3 Case "4" Cel.Interior.ColorIndex = 27 Case "5" Cel.Interior.ColorIndex = 34 '<<<<<<<<<<<========= même couleur mais avec autre saisie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Worksheet_Change(ByVal Target As Range) Static d As Object If d Is Nothing Then Set d = CreateObject("Scripting.Dictionary") mescouleurs = Array("1", 4, "DEBIT", 4, "2", 40, "INSTANCE", 40, "3", 34, "PAIEMENT", 34) For i = 0 To UBound(mescouleurs) - 1 Step 2 d.Add mescouleurs(i), mescouleurs(i + 1) Next End If Dim vabene As Boolean Select Case Target.Column Case 2 If IsNumeric(Target.Text) And d.Exists(UCase(Target.Text)) Then vabene = True Case 5 If Not IsNumeric(Target.Text) And d.Exists(UCase(Target.Text)) Then vabene = True End Select If vabene Then Target.Interior.ColorIndex = d.Item(UCase(Target.Text)) End Sub
2)tu es venu chercher simplement de quoi faire, sans forcément comprendre, que tu obtiennes ton résultat ===>> et alors on va passer par l'utilisation d'un dictionnaire et tu n'auras plus qu'à copier/coller.
mescouleurs = Array("1", 5, "VIREMENT", 5, "2", 40, "INSTANCE", 40, "3", 34, "PAIEMENT", 34, "4", 10, "CHEQUES", 10)
mescouleurs = Array("1", 5, "2", 40, "3", 34, "PAIEMENT", 34, "4", 10, "CHEQUES", 10, "VIREMENT", 5, "INSTANCE", 40)
mescouleurs = Array("1", 5, "2", 40, "3", 34, "PAIEMENT", 34, "4", 10, "VIREMENT", 5, "INSTANCE", 40)
Private Sub Worksheet_Change(ByVal Target As Range) Static d As Object If d Is Nothing Then Set d = CreateObject("Scripting.Dictionary") mescouleurs = Array("1", 4, "DEBIT", 4, "2", 40, "INSTANCE", 40, "3", 34, "PAIEMENT", 34) For i = 0 To UBound(mescouleurs) - 1 Step 2 d.Add mescouleurs(i), mescouleurs(i + 1) Next End If Dim vabene As Boolean If Target.Column <> 2 And Target.Column <> 5 Then Exit Sub '<<<<<<<<<<<<<<<<<Target.Interior.ColorIndex xlNone '<<<<<<<<<<<=============================== Select Case Target.Column Case 2 If IsNumeric(Target.Text) And d.Exists(UCase(Target.Text)) Then vabene = True Case 5 If Not IsNumeric(Target.Text) And d.Exists(UCase(Target.Text)) Then vabene = True End Select If vabene Then Target.Interior.ColorIndex = d.Item(UCase(Target.Text)) End Sub