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

Coloration de doublons

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

BD62

XLDnaute Nouveau
Bonjour à toutes et à tous

M'inspirant du site boigontierjacques je voudrais colorer les doublons d'un tableau en fonction de la position de mon curseur avec les mises en forme conditionnelles.
Ex: si mon curseur est en B2 (rouge dans mon tableau) je voudrais colorer les doublons de la ligne 2 et de la colonne B. 1,2 et 6 dans mon exemple.
Si mon curseur est en F5 (Bleu dans mon tableau) je voudrais que se colorent les doublons de la la ligne 5 et de la colonne F (Ici 7).
Les couleurs bleu et rouge ne servent qu'à mieux expliquer. La coloration peut se faire toujours dans la même couleur.

A savoir que dans mon tableau de B2 à J10 il y a des chiffres donc pas de possibilité de mettre une formule.
Je ne vois pas bien comment m'y prendre soit avec une mise en forme conditionnelle comme j'ai essayé en K2:S2 ou en VBA.
Je joins mon fichier exemple et j'espère que mes explications sont claires.
D'avance merci
 

Pièces jointes

Re : Coloration de doublons

Bonjour BD, Piga, bonjour le forum,

Une autre proposition au double-clic. Colore la première fois, enlève les couleurs la seconde fois...
Le code :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim cl As XlColorIndex 'déclare la variable cl (CouLeur)
Dim ld As Integer, lf As Integer, pl As Range 'déclare les variables ld (Ligne Début), lf (Ligne Fin) et pl (Plage Lignes)
Dim cd As Integer, cf As Integer, pc As Range 'déclare les variables cd (Colonne Début), cf (Colonne Fin) et pc (Plage Colonnes)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (Première Adresse)

'si le double-clic a lieu ailleurs qu'en B2 ou F5, sort de la procédure
If Application.Intersect(Target, Application.Union(Range("B2"), Range("F5"))) Is Nothing Then Exit Sub
Cancel = True 'annule le mode édition lié au double-clic
cl = Target.Interior.ColorIndex 'définit la couleur cl
ld = Target.End(xlDown).Row 'définit la ligne de début
lf = Cells(Application.Rows.Count, Target.Column).End(xlUp).Row 'définit la ligne de fin
Set pl = Range(Cells(ld, Target.Column), Cells(lf, Target.Column)) 'définit la plage de lignes
cd = Target.End(xlToRight).Column 'définit la colonne de début
cf = Cells(Target.Row, Application.Columns.Count).End(xlToLeft).Column 'définit la colonne de fin
Set pc = Range(Cells(Target.Row, cd), Cells(Target.Row, cf)) 'définit la plage de colonnes
For Each cel In pl 'boucle tour toutes les cellules cel de la plage de lignes
    Set r = pc.Find(cel.Value, , xlValues, xlWhole) 'définit la recherche (recherche la valeur de la cellule dans la plage de colonnes)
    If Not r Is Nothing Then 'condition 2: si il existe au moins une occurrence trouvée
        pa = r.Address 'définit l'adresse de la première occurrence trouvée
        Do 'exécute
            cel.Font.ColorIndex = IIf(cel.Font.ColorIndex = 1, cl, 1) 'couleur de police de la cellule cel égale à cl ou noir
            r.Font.ColorIndex = IIf(r.Font.ColorIndex = 1, cl, 1) 'couleur de police de l'occurrence trouvée égale à cl ou noir
            Set r = pc.FindNext(r) 'redéfint la recherche (occurrence suivante)
        Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en pa
    End If 'fin de la condition 2
Next cel 'prochaine cellule de la boucle
End Sub
Le fichier :
 

Pièces jointes

Re : Coloration de doublons

Merci à Piga25 et à Robert de vous êtes penchés sur mon problème.
Mais ce n'est pas vraiment ce que je cherche à faire.
Ce n'est pas facile à expliquer mais je vais retenter.
En fait je cherche à faire apparaitre les doublons de mes 2 tableaux. K2:S10 et B11:J19. qui sont des résultats de valeurs et je n'y touche pas
Jusque là ce n'est pas compliqué, là où ça se complique c'est que je voudrais que ces doublons ne soient visibles que lorsque je me déplace dans mon tableau principal B2:J10 et que n'importe quelle position dans ce tableau "m'allume" les doublons correspondants à la ligne et la colonne où je me trouve. Pas seulement sur mes cases rouges et bleues. Je les avais colorées pour expliquer ma demande mais ce n'était pas une bonne idée.
Avec cette formule j'arrive à gérer la ligne mais pas la colonne
=ET(ET(LIGNE()=CELLULE("ligne");COLONNE()>=CELLULE("colonne"));NB.SI($B$11:$B$19;K2)>0)

J'espère qu'avec ce complément d'explications c'est plus clair.
Encore merci à tous pour votre aide.
 
Re : Coloration de doublons

Bonjour Habitude, Pierrejean

Super, c'est tout à fait ce que je cherchais à faire.
Deux méthodes différentes mais qui fonctionnent aussi bien.
Dès que j'ai un moment je me pencherais plus sur le code pour essayer de comprendre et surtout apprendre.
Merci encore à vous et à tout le forum pour passer un peu de temps à débrouiller les demandes des autres.
Je vais pouvoir avancer dans mon projet.
 
- 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
17
Affichages
462
  • Question Question
XL 2021 Doublons
Réponses
7
Affichages
147
Réponses
2
Affichages
398
Réponses
5
Affichages
313
Réponses
6
Affichages
469
Réponses
6
Affichages
136
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…