pepsi
XLDnaute Occasionnel
J'ai un code qui me permet d'identifier les doublons dans une liste.
Un message s'affiche si j'ai des doublons, et passe les cellules en rouge.
meme s'il n'y a pas de doublons dans la liste j'ai quand meme le message MsgBox "Les valeurs suivantes sont en doublon :" & vbLf & L, 64, "Attention...".
sans aucune valeur dans le message.
J'aimerais plutot afficher le message : "aucune valeur en doublons"
comment faire ?
Merci pour votre aide
Un message s'affiche si j'ai des doublons, et passe les cellules en rouge.
meme s'il n'y a pas de doublons dans la liste j'ai quand meme le message MsgBox "Les valeurs suivantes sont en doublon :" & vbLf & L, 64, "Attention...".
sans aucune valeur dans le message.
J'aimerais plutot afficher le message : "aucune valeur en doublons"
comment faire ?
Merci pour votre aide
VB:
Dim D1, D2, P As Range, C As Range, a(), n As Long, L As String
[a:d].Interior.ColorIndex = xlNone
Set D1 = CreateObject("Scripting.Dictionary")
Set P = Range("A2", [A65000].End(xlUp))
For Each C In P
If C.Value <> 0 Then D1.Item(C.Value) = D1.Item(C.Value) + 1
Next
Set D2 = CreateObject("Scripting.Dictionary")
For Each C In P
If D1.Item(C.Value) > 1 Then
C.Interior.ColorIndex = 3
C.Offset(0, 1).Interior.ColorIndex = 3
C.Offset(0, 2).Interior.ColorIndex = 3
C.Offset(0, 3).Interior.ColorIndex = 3
If D2(C.Value) = "" Then D2(C.Value) = C
End If
Next
a = D2.keys
For n = 0 To UBound(a): L = L & a(n) & vbLf: Next
MsgBox "Les valeurs suivantes sont en doublon :" & vbLf & L, 64, "Attention..."
End Sub