CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

  • Initiateur de la discussion Initiateur de la discussion FILOU78180
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

FILOU78180

Guest
Bonjour ,
j'aimerai pouvoir visionner les doublons mais comme j'en ai beaucoup différentes 80 % des cellules se mettent en couleur choisie donc c pas gérable !
Ce que je souhaiterai ami expert excel 2010, c'est qu'a chaque doublons bien sûr cela change de couleur mais en plus à chaque doublon la couleur soit différente!

merci
 
Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

Bonjour,

http://boisgontierjacques.free.fr/fichiers/Cellules/ColorGroupe.xls

Code:
Sub GroupColor()
  couleurs = Array(1, 3, 4, 6, 7, 8, 14, 15, 17, 20, 22, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range("a2", [a65000].End(xlUp))
    If c <> "" Then mondico.Item(c.Value) = mondico.Item(c.Value) + 1
  Next c
  For Each c In Range("a2", [a65000].End(xlUp))
    If c <> "" Then
      nocoul = (Application.Match(c.Value, mondico.keys, 0)) Mod UBound(couleurs)
      If mondico.Item(c.Value) > 1 Then c.Interior.ColorIndex = couleurs(nocoul)
    End If
  Next c
End Sub

JB
 
Dernière édition:
Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

Bonjour,

j'utilise cet excellent code depuis un moment mais je ne comprends pas bien cette ligne:

nocoul = (Application.Match(c.Value, mondico.keys, 0)) Mod UBound(couleurs)

On fait une recherche dans mondico.keys grâce à match mais la "jonction" avec le MOD et le mod lui même m'interpelle (restant d'une division mais ici je ne vois pas ...) 🙂

Merci JB de m'éclairer


P.


 
Dernière édition:
Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

Merci JB de m'éclairer


Code:
Sub GroupColor()
  couleurs = Array(3, 4, 6, 7, 8, 14, 15, 17, 20, 22, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
  Set mondico = CreateObject("Scripting.Dictionary")
  For Each c In Range("a2", [a65000].End(xlUp))
    If c <> "" Then mondico.Item(c.Value) = mondico.Item(c.Value) + 1
  Next c
  tableauClés = mondico.keys
  For Each c In Range("a2", [a65000].End(xlUp))
    If c <> "" Then
      nocoul = (Application.Match(c.Value, tableauClés, 0)) Mod UBound(couleurs)
      If mondico.Item(c.Value) > 1 Then
        c.Offset(, 1) = nocoul
        c.Offset(, 2) = couleurs(nocoul)
        c.Interior.ColorIndex = couleurs(nocoul)
      End If
    End If
  Next c
End Sub

JB
 

Pièces jointes

Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

Merci....

J'avais testé de la même manière ,mais j'avais omis de mettre Option Base 1, donc avant ça, au premier match il allait chercher la 2e couleur...
A présent il va chercher la 1er de l'array couleurs 🙂
Ca commence à entrer lentement dans mon cerveau mono ou bi-neurone 🙂 sauf le mod qui reste ici d'une utilité que je ne pige pas

P.
 
Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

>sauf le mod qui reste ici d'une utilité que je ne pige pas

Supposons qu 'il y ait 51 clés et 30 couleurs dans la table Couleurs

51 Mod 30 -->couleur No 21

Sans Mod, nous prendrions la couleur No 51 qui n'existe pas dans la table Couleurs (qui n'en a que 30).

JB
 
Dernière édition:
Re : CHANGER COULEUR CELLULES DOUBLON Mais couleur différente !

Bonsoir à tous, 🙂

En s'appuyant sur le fichier de Jacques :
VB:
Option Explicit

Sub test()
    Dim rng As Range, r As Range, n As Long, couleurs
    Set rng = Range("a2", Range("a" & Rows.Count).End(xlUp))
    rng.Interior.ColorIndex = xlNone
    couleurs = VBA.Array(27, 38, 43, 44, 45, 40, 22, 19)
    With CreateObject("Scripting.Dictionary")
        For Each r In rng.Cells
            If Not .exists(r.Value) Then
                .Item(r.Value) = n
                n = n + 1
                If n > UBound(couleurs) Then n = 0
            End If
            r.Interior.ColorIndex = couleurs(.Item(r.Value))
        Next
    End With
    Set rng = Nothing
End Sub
klin89
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
5
Affichages
1 K
marcenana
M
C
Réponses
3
Affichages
2 K
claivier_58
C
C
Réponses
1
Affichages
2 K
claivier_58
C
C
Réponses
12
Affichages
2 K
CharloDanis
C
A
Réponses
5
Affichages
1 K
R
Réponses
4
Affichages
1 K
R
M
Réponses
6
Affichages
2 K
MikaTI
M
F
Réponses
18
Affichages
5 K
FlorianQ
F
M
  • Question Question
Réponses
3
Affichages
1 K
MajIsh
M
Retour