Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Différents doublons = Différentes couleurs

  • Initiateur de la discussion Initiateur de la discussion hypo78
  • 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 !

hypo78

XLDnaute Impliqué
Bonsoir,

Dans une plage donnée, je souhaiterai (via VBA) que les doublons se colorent.
Je sais le faire à l'aide d'une mise MFC, mais pas en VBA.

Particularité, il me faudrait une couleur différente à chaque type de doublon.

Dernier désidérata, que cette mise en forme se fasse au moment de la saisie et non depuis une commande.

Merci d'avance.
 
Re : Différents doublons = Différentes couleurs

Bonsoir hypo, piga25, et à ceux qui passeront par là,

Je sais le faire avec VBA, en chargeant une base de données, mais en passant par une ListView d'un USF.

Par la suite, on pourra supprimer les lignes de la feuille, les modifier..... Enfin plein de trucs!

A noter que je ne sais rien fiche sur une Feuille directement par formules.

Il demeure aussi que je n'ai pas envie de me farcir la construction d'une Feuille avec des Doublons.
A toi de nous la fournir!!!

Amicalement, et à te lire,

Yann
 
Re : Différents doublons = Différentes couleurs

Bonsoir à tous,

@ piga 25 : lors de mes recherches je suis allé voir là, mais je n'ai pas trouvé l'astuce pour l'adapter à une plage.
@ yann : j'ai bien compris, en général je joins toujours un petit fichier mais là çà ne me paraissait pas nécessaire.
@ klin89 : malgré mes recherches je ne suis jamais tombé sur ce fil, je crois que çà s'approche de ce dont j'ai besoin.

Merci à tous.
 
Re : Différents doublons = Différentes couleurs

Re,
si j'adapte ce code :
Code:
Sub GroupColor()
  Set mondico = CreateObject("Scripting.Dictionary")
  Set champ = Range("b2").CurrentRegion
  For Each c In champ
     mondico.Item(c.Value) = mondico.Item(c.Value) + 1
  Next c
  For Each c In champ
    If mondico.Item(c.Value) > 1 Then
      coul = Application.Match(c.Value, mondico.keys, 0) + 1
      c.Interior.ColorIndex = coul Mod 53
    End If
  Next c
End Sub

est ce possible qu'il s'exécute à la saisie sans passer par un bouton?

Edit : premier constat à l'utilisation, si on change la valeur d'un doublon et que l'on recalcule, la case reste colorée comme si c'était un doublon.

Je joins l'exemple de BOISGONTIER pour plus de compréhension
 

Pièces jointes

Dernière édition:
Re : Différents doublons = Différentes couleurs

Bonjour hypo78, klin89 , YANN-56, piga25,
Allez je me lance sur une modif d'un code J.Boisgontier... ...en espérant ne pas gaffer.
A mettre fans le code de la feuille concernée.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  Set champ = Range("b2").CurrentRegion
  If Intersect(Target, champ) Is Nothing Or Target.Count > 1 Then Exit Sub
  Set mondico = CreateObject("Scripting.Dictionary")
  champ.Interior.ColorIndex = xlNone
  For Each c In champ
     mondico.Item(c.Value) = mondico.Item(c.Value) + 1
  Next c
  For Each c In champ
    If mondico.Item(c.Value) > 1 Then
      coul = Application.Match(c.Value, mondico.keys, 0) + 1
      c.Interior.ColorIndex = coul Mod 53
    End If
  Next c
End Sub
Cordialement
 
Re : Différents doublons = Différentes couleurs

Bonsoir Efgé,

çà a l'air de fonctionner.
Je teste çà demain sur mon fichier au boulot (oui oui un jour férié....)
Merci.

Bonne soirée à tous.
 
Re : Différents doublons = Différentes couleurs

Bonjour Efgé,

plusieurs petites questions:
-est ce possible de le faire sur des plages non contiguës?
-est ce que l'on peut colorer le texte et non le fond?

Rem : çà se met en mode débogage mais pas à chaque fois....

Merci d'avance
 
Re : Différents doublons = Différentes couleurs

Bonjour hypo78, le fil le forum
Pour le déboguage, cela viens peut être du fait que la cellule B2 est vide.
Pour la couleur de texte: l'utilisation de l'enregistreur de macro aurai pu t'ammener à trouver... ...ça
Code:
c.Font.ColorIndex = coul Mod 53
Pour les plages non contigues il faudrait voir ton exemple qui commence à faire cruellement défaut...
Cordialement

si non regarde de ce coté:
Code:
Sub test()
  Set champ = Application.Union(Range("$B$2:$E$9"), Range("$M$2:$P$9"))
  champ.Select
End Sub
Cordialement
 
Dernière édition:
Re : Différents doublons = Différentes couleurs

Re
Il semble que l'exemple n'ai strictement rien a voir avec la question de base....🙄
Je jette l'éponge.
Cordialement
 
Dernière édition:
Re : Différents doublons = Différentes couleurs

Bonsoir,

Voir PJ

JB
 

Pièces jointes

Re : Différents doublons = Différentes couleurs

Re,
@ Efgé, la seule différence avec ma demande du départ, c'est que ce n'est pas une plage avec des cellules contiguës. Mais le fond n'a pas changé, des doublons en couleur avec une couleur différente par type de doublon.
Dans tous les cas merci pour ton investissement.

@ Boisgontier : çà m'a l'air très bien tout çà. Je vais l'appliquer à mon fichier.

Merci à tous et bonne fin de journée.

edit : @ Pierrejean : oui c'est çà mais sans bouton de lancement.
 
Dernière édition:
- 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

Discussions similaires

Réponses
8
Affichages
970
E
Réponses
1
Affichages
1 K
A
Réponses
11
Affichages
2 K
A
K
Réponses
5
Affichages
2 K
kondabalo
K
N
Réponses
2
Affichages
1 K
Naëlle74
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…