Repérage des doublons macro et création d'un indicateur

Bonjour,

Je souhaite trouver un moyen sous vba de parcours une colonne de valeurs et trouver tout les doublons. Et pour chaque doublons trouvé mettre une valeur dans une autre colonne pour les différencier. Une valeur "01", "02", "03", ...

Y'a t'il un moyen simple pour arriver à ce résultat ?

Merci à vous.

Bonjour et bienvenue sur le forum

SeyMode a écrit :

Y'a t'il un moyen simple pour arriver à ce résultat ?

Il y a un moyen, en se servant d'un dictionnaire.

Joins un fichier en montrant sur un exemple ce que tu as et ce que tu veux obtenir et on te proposera quelque chose.

Bye !

Merci pour la réponse.

Alors j'ai fait un bout de tableau manuellement pour que vous voyez un peu ce que je souhaite avoir, mon tableau il fait 3500 lignes normalement. Ce que j'aimerais c'est une boucle qui parcours la première colonne et qui va mettre sur la deuxième colonne un indicateur pour différencier les doublons.

Je suis vraiment désolé, si je suis pas assez claire.

Et merci encore.

9classeur7.xlsx (8.38 Ko)

Un essai à tester. Te convient-il ?

Bye !

29classeur7-v1.xlsm (22.81 Ko)

Oh mais c'est géniaaaaal !!

For i = 1 to l'infinie

MERCII

Next i

C'est exactement ce qu'il me fallait c'est super

Au plaisir de vous relire.

Bonsoir à tous,

Ou ceci :

Option Explicit
Sub test()
Dim rng As Range, r As Range, dico As Object
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("Feuil7")
        Set rng = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    End With
    rng.Offset(, 1).NumberFormat = "0000"
    For Each r In rng
        dico(r.Value) = dico(r.Value) + 1
        r(, 2).Value = dico(r.Value)
    Next
    For Each r In rng
        If dico(r.Value) = 1 Then
            r(, 2).ClearContents
        End If
    Next
    Set dico = Nothing
End Sub

klin89

Merci Klin89 pour ton code

J'ai essayé de modifier le code pour répondre à un autre besoin, mais ma connaissance des dictionnaires n'est pas assez bonne. Je me permets donc de vous redemander un petit truc supplémentaire

Alors cette fois j'ai besoin de repérer les doublons mais pas pour une seul valeur par ligne, mais comparer un mélange de valeurs sur la même ligne. Ça sera plus simple dans le fichier excel.

Mon tableau ressemble exactement à cela. J'aimerais que le code me repère que les lignes colorées. Car elles ont la même valeur en A, B et C.

En vous remerciant

13classeur7-v2.xlsm (15.72 Ko)

Re SeyMode

Le code réajusté :

Option Explicit
Sub test()
Dim i As Long, rng As Range, dico As Object, txt As String
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("Feuil7")
        Set rng = .Range("A1:I" & .Range("A" & .Rows.Count).End(xlUp).Row)
    End With
    With rng
        With .Columns(9)
            .ClearContents
            .NumberFormat = "0000"
        End With
        For i = 2 To .Rows.Count
            txt = Join$(Array(.Cells(i, 1).Value, .Cells(i, 5).Value, .Cells(i, 8).Value), Chr(2))
            dico(txt) = dico(txt) + 1
            .Cells(i, 9).Value = dico(txt)
        Next
        For i = 2 To .Rows.Count
            txt = Join$(Array(.Cells(i, 1).Value, .Cells(i, 5).Value, .Cells(i, 8).Value), Chr(2))
            If dico(txt) = 1 Then
                .Cells(i, 9).ClearContents
            End If
        Next
    End With
    Set dico = Nothing
End Sub

klin89

Parfait ! Merci beaucoup. En plus je comprend un peu mieux l'utilisation des dico.

Super

Au plaisir de vous relire.

SeyMode

Rechercher des sujets similaires à "reperage doublons macro creation indicateur"