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

repérarge de doublon dans une liste

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

gerard55

XLDnaute Occasionnel
Bonjour à tous
j'ai une macro qui repère des mots en double. Mais, je voudrais qu'elle m'identifie dans la colonne de gauche les mots en double. Elle identifie bien le 2ème mais pas le premier écrit.
Merci pour vos suggestion
A+
 

Pièces jointes

Re : repérarge de doublon dans une liste

Bonjour Gérard, re à tous

Avec une simple MFC sur la plage A5:A23

et cette formule :

Code:
=NB.SI($A$5:$A$23;A5)>1

Dans "la formule est" te mets en couleur les doublons.

A+
 
Re : repérarge de doublon dans une liste

Merci Jiheme
Mais, le format conditionnel ne répond pas à mon besoin. Je ne peux pas faire de tri derrière. Je préfère que doublon soit écrit dans la colonne à côté
a+
 
Re : repérarge de doublon dans une liste

Bonjour...à tous..
Ci joint une petite contribution de ma part..
Bonne journée

La solution de Claudy est intéressante. Mais il y a 2 inconvénients:
1 - quand il y a des blancs (cellule vide) il marque aussi "doublons"
2 - il faudrait que la colonne soit effacée à chaque opération car si l'on modifie un nom, il n'efface pas "doublon" donc la mise à jour est fausse
Merci encore
a+
 
Re : repérarge de doublon dans une liste

Bonsoir à tous
J'ai remarqué que le code de Claudy considère que gg, GG sont des doublons. Dans le code que j'ai fourni, gg, GG ne sont pas considérés comme des doublons. Voici le code modifié qui permet de les confondre :
Code:
[COLOR="DarkSlateGray"]Private Sub Worksheet_Change(ByVal Target As Range)
Dim L As Long, C As Long, D As Long, pl As Range, cel As Range, v, k As Long, i As Long
   Application.ScreenUpdating = False
   Application.EnableEvents = False
   L = 3 [COLOR="SeaGreen"]'N° de la première ligne à traiter.[/COLOR]
   C = 1 [COLOR="SeaGreen"]'N° de colonne à traiter.[/COLOR]
   D = 2 [COLOR="SeaGreen"]'N° de colonne à écrire.[/COLOR]
   Set pl = Me.Cells(L, C).Resize(Application.Max(2, Me.Cells(Me.Rows.Count, C).End(xlUp).Row + 1 - L), C)
   With pl
      If Not Intersect(.Cells, Target) Is Nothing Then
         Target.Offset(0, D - C).Value = Empty
         For Each cel In .Cells
[COLOR="SeaGreen"]'            v = cel.Value 'sensible à la casse.[/COLOR]
            [COLOR="Sienna"][B]v = UCase(cel.Value)[/B][/COLOR]
            k = cel.Row
            Me.Cells(k, D).Value = Empty
            For i = L To .Rows.Count + L - 1
[COLOR="SeaGreen"]'               If k <> i And v = Me.Cells(i, C) And Not IsEmpty(v) Then 'sensible à la casse.[/COLOR]
               [COLOR="Sienna"][B]If k <> i And v = UCase(Me.Cells(i, C)) And v <> "" Then[/B][/COLOR]
                  Me.Cells(k, D).Value = "doublon"
                  Me.Cells(i, D).Value = "doublon"
                  Exit For
               End If
            Next i
         Next cel
      End If
   End With
   Application.EnableEvents = True
   Application.ScreenUpdating = True
End Sub[/COLOR]
ROGER2327
 
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
9
Affichages
566
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
666
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…