1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Public Dcel As Range, Plage As Range, Cel As Range, i As Long
Sub demarrage()
Doublon
End Sub
Sub couleur()
'à toi de voir la valeur de TintAndShade
'à toi de voir les valeurs de y et z
Dim y As Long, z As Long
y = 5000000
z = 500000
With Sheets("Feuil2")
For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A" & i).Interior.Color = y
.Range("A" & i).Interior.TintAndShade = 0.7
y = y + z
Next
End With
End Sub
Sub Doublon()
Dim mondico As Object, temp As String, lacouleur
Dim j As Long
Set mondico = CreateObject("Scripting.Dictionary") 'on crée un dictionnaire
With Sheets("feuil1")
With .Columns("A:K").Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
For j = 1 To 10 Step 3
For i = 2 To .Cells(1, j).End(xlDown).Row 'on parcourt toutes données
temp = CStr(.Cells(i, j).Value)
If Not mondico.exists(temp) Then
mondico.Add temp, .Cells(i, j).Address
Else
If Not IsNumeric(mondico(temp)) Then ' si ca n'est pas numeric ca veut dire qu'il y a une addresse de cellules puisque lettre et chiffre et le "$"
lacouleur = RGB(150 + (Rnd * 255), 150 + (Rnd * 255), 150 + (Rnd * 255)) ' on mixe la la couleur au hasard
Range(mondico(temp)).Interior.Color = lacouleur ' on applique la la couleur a la cellule dont l'adresse est dans l'item du mondico
mondico(temp) = lacouleur ' on remplace l'ancienne adresse dans l'item du mondico par la la couleur
End If
.Cells(i, j).Interior.Color = mondico(temp) ' et enfin on applique la la couleur a l'occurrence en cours avec la la couleur de l'item mondico correspondant a la valeur de la cellule
End If
Next i
Next j
End With
Set mondico = Nothing 'on oublie pas de libérer la mémoire
End Sub |
Partager