bonjour Al
ci joint une adaptation qui j'espere pourra t'aider
si tu as plus de 256 valeurs , il faut remplacer Dim M as byte par Dim M as integer….
il me semble que je te l'avais deja signalé dans un autre fil
http://www.excel-downloads.com/html/French/forum/messages/1_63892_63892.htm
ci dessous un exemple pour prendre en compte les minuscules majuscules et les Espaces ainsi que les Accents dans la colonne B
je n'ai pas utilisé toutes les accentuations possibles ni les differences entre "Mr" et "monsieur" mais tu pourras l'adapter sur le meme principe que l'exemple ci dessous
Sub DoublonsV02()
Dim Cell As Range
Dim Ligne As Integer, i As Integer
Dim M As Integer, N As Integer
Dim U As Boolean
Dim Tableau(), Tableau2()
Dim Val As String
Ligne = Range("B65536").End(xlUp).Row ' derniere ligne non vide colonne B
M = 1
N = 1
ReDim Preserve Tableau(M) 'tableau valeurs uniques colonne B
ReDim Preserve Tableau2(N) ' tableau pour numero de lignes doublons
Application.ScreenUpdating = False
For Each Cell In Range("B2:B" & Ligne)
U = False
For i = 1 To M
'*********************************************************
'prendre en compte les minuscules majuscules et les Espaces ainsi que les Accents
Val = Cell
Val = Application.Substitute(Val, "é", "e")
Val = Application.Substitute(Val, "è", "e")
Val = Application.Substitute(Val, "ê", "e")
Val = Application.Substitute(Val, "à", "a")
'....adapter pour les autres accentuations........
Val = UCase(Application.Substitute(Val, " ", ""))
'******************************************************
If Val = Tableau(i - 1) Then '
Tableau2(N - 1) = Cell.Row ' recupere numero de ligne quand un doublon est detecté
N = N + 1
ReDim Preserve Tableau2(N)
U = True
End If
Next i
If Tableau(M - 1) = "" And U = False Then
Tableau(M - 1) = Val ' remplissage tableau valeurs uniques si pas de doublon détecté
M = M + 1
ReDim Preserve Tableau(M)
End If
Next Cell
For i = N - 1 To 1 Step -1
Rows(Tableau2(i - 1)).Delete
Next i
End Sub
bon dimanche
michel