XL 2016 donne valeur en fonction d'une couleur

tinet

XLDnaute Impliqué
Bonjour le forum,

Je cherche un code à adapté

Voici ma demande, sur ma feuille dans la colonne G ( Il y a environ 800 lignes traitées)


en fonction de la couleur de la cellule trouvée, rajouter une valeur dans la même cellule

Il y a quatre couleurs donc valeur de 1 à 4

Merci pour vos idées
 

vgendron

XLDnaute Barbatruc
Hello

En supposant que la zone contenant les couleurs possibles s'appelle "ListeCouleurs"
VB:
Sub CouleurToInt()
Application.ScreenUpdating = False
Set tabloCoul = CreateObject("Scripting.dictionary")

With ActiveSheet
    Nbcoul = .Range("A" & .Rows.Count).End(xlUp).Row
'    For i = 1 To Nbcoul
'        If Not tabloCoul.exists(.Range("A" & i + 1).Interior.Color) Then
'            tabloCoul.Add .Range("A" & i + 1).Interior.Color, .Range("A" & i + 1)
'        End If
'    Next i
   
    For Each cel In .Range("ListeCouleurs")
        If Not tabloCoul.exists(cel.Interior.Color) Then
            tabloCoul.Add cel.Interior.Color, cel
        End If
    Next cel

    fin = .UsedRange.Rows.Count

    For i = 2 To fin
        .Range("G" & i) = tabloCoul.Item(Range("G" & i).Interior.Color)
    Next i
           
End With
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 233
Membres
103 497
dernier inscrit
JP9231