Comment colorer des doublons de couleurs différentes

Bonjour tous le monde,

J'aimerai savoir s'il est possible de colorer des doublons de couleurs différentes.

Je connais la mise en forme conditionnelle afin de colorer les doublons, mais cela colore tous les doublons que d'une seule couleur.

J'aimerai colorer, un doublon en bleu, l'autre en rouge, l'autre en vert... et ainsi de suite, autant de doublons différents que de couleurs différentes.

J'imagine qu'il est possible de l'écrire en langage VBA... mais je n'ai pas ces compétences, quelqu'un aurait-il une proposition à me faire ?

Vous trouverez mon fichier excel ci-joint.

Une petite précision, j'ai plusieurs fichiers à traiter et ce n'ai jamais les mêmes doublons. Il ne faut donc pas écrire quelque chose du genre "si plusieurs fois : kerisnel_prunus_laurocerasus_caucasica ; alors bleu " car ce terme "kerisnel_prunus_laurocerasus_caucasica" je ne l'aurai sans doute que dans un seul fichier. Et j'aimerai appliquer une même macro, à tous mes fichiers.

Dans l'espoir d'avoir été clair et de demander quelque chose de réalisable, j'attends vos propositions !!

Merci d'avance

Cindy

256test-doublons.xlsx (18.86 Ko)

Bonjour Cindy,

quelque chose comme ça ?

Bonne journée!

1'459doublonscolores.xlsm (35.10 Ko)
curulis57 a écrit :

Bonjour Cindy,

quelque chose comme ça ?

Bonne journée!

Bonjour curulis57,

C'est effectivement quelque chose qui ressemblerait à ça !!!!!

Petite question par rapport à votre fichier, par exemple les 18 premières lignes reste sans couleurs, alors qu'elles ont chacune des doublons et leurs doublons, eux, sont colorés, comment cela ce fait-il ?!

Et dernière chose, j'ai essayé de copier/ coller la macro sur un autre fichier, en allant sur VBA, insérer un module et coller votre code;

Mais quand je veux l'activer (je sélectionne ma colonne, je vais dans développeur, macro), elle n'est pas dans la liste des macros...

Merci pour l'attention que vous avez porté à mon sujet !!

Bonsoir Cindy,

  • 1ère question : tu demandais de colorer les doublons, pas la "matrice"...
  • 2e question : vraisemblablement, la macro est renseignée PRIVATE. PUBLIC serait mieux pour ta manip'.

Le code suivant, revu et compacté, attribue une couleur à tous les différents items, y compris la "matrice".

Public Sub CmdColorerBis_Click()
'
Dim tItems(1000, 4) As Variant
iFlag1 = Range("A" & [65000]).End(xlUp).Row
'
iFlag = 0
For x = 2 To iFlag1
    If Cells(x, 1) <> "" Then
        sFlag = Cells(x, 1)
        iTest = 0
        For y = 1 To iFlag
            If sFlag = tItems(y, 1) Then
                Cells(x, 1).Font.Color = RGB(tItems(y, 2), tItems(y, 3), tItems(y, 4))
                iTest = 1
                Exit For
            End If
        Next
        If iTest = 0 Then
            iFlag = iFlag + 1
            tItems(iFlag, 1) = sFlag
            tItems(iFlag, 2) = (Rnd * 255) + 1
            tItems(iFlag, 3) = (Rnd * 255) + 1
            tItems(iFlag, 4) = (Rnd * 255) + 1
            Cells(x, 1).Font.Color = RGB(tItems(iFlag, 2), tItems(iFlag, 3), tItems(iFlag, 4))
        End If
    End If
Next
'
End Sub

A+

Bonjour,

une proposition...

P.

1'079test-doublons.xlsm (36.64 Ko)

Bonjour,

Effectivement je m'étais mal exprimé pour prise en compte de la "matrice" , merci beaucoup curulis57, pour ce nouveau code, qui fonctionne parfaitement dans un autre fichier !!

Et merci beaucoup à patrick1957, c'est exactement ce que je voulais !!!!

Merci à vous deux de m'avoir accordé de votre temps !!!

Moi, je vais en gagner pas mal maintenant


patrick1957 a écrit :

Bonjour,

une proposition...

P.

Enfaite après quelques tests, je m'aperçois que votre code, ne distingue pas forcément chaque doublon, c'est à dire que quand je trie par couleur, et que je choisi le 1er vert, j'ai plusieurs termes qui ressortent telles que : kerisnel_prunus_laurocerasus_caucasica, kerisnel_pseudosasa_japonica, kerisnel_rhododendron_tortoiseshell_orange etc... Or il me faut un terme par couleur.

Merci quand même !!

Rechercher des sujets similaires à "comment colorer doublons couleurs differentes"