[COLOR=blue]Sub[/COLOR] Test()
[COLOR=green]' Librement adapté de JB [URL="http://boisgontierjacques.free.fr/"]Formation Excel VBA JB[/URL][/COLOR]
[COLOR=blue]Set[/COLOR] MonDico = CreateObject("Scripting.Dictionary")
[COLOR=blue]With[/COLOR] Sheets("Feuil1")
[COLOR=blue]For Each[/COLOR] c [COLOR=blue]In[/COLOR] .Range([E9], [E65000].End(xlUp))
[COLOR=blue]If[/COLOR] c.Value <> "" [COLOR=blue]Then[/COLOR]
MonDico.Item(c.Value & " " & c.Offset(0, 1).Value) = c.Value & " " & c.Offset(0, 1).Value
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] c
[COLOR=blue]For Each[/COLOR] c [COLOR=blue]In[/COLOR] .Range([P9], [P65000].End(xlUp))
[COLOR=blue]If[/COLOR] c.Value <> "" [COLOR=blue]Then[/COLOR]
MonDico.Item(c.Value & " " & c.Offset(0, 1).Value) = c.Value & " " & c.Offset(0, 1).Value
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] c
[COLOR=blue]End With[/COLOR]
temp = MonDico.items
[COLOR=blue]Call[/COLOR] tri(temp, [COLOR=blue]LBound[/COLOR](temp), [COLOR=blue]UBound[/COLOR](temp))
[COLOR=blue]With[/COLOR] Sheets("Feuil3")
[COLOR=blue]For[/COLOR] J = 1 [COLOR=blue]To[/COLOR] 26
K = 5
[COLOR=blue]For[/COLOR] I = [COLOR=blue]LBound[/COLOR](temp) [COLOR=blue]To UBound[/COLOR](temp)
[COLOR=blue]If[/COLOR] Left(temp(I), 1) = .Cells(4, J) [COLOR=blue]Then[/COLOR]
.Cells(K, J) = temp(I)
K = K + 1
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] I
[COLOR=blue]Next[/COLOR] J
[COLOR=blue]End With[/COLOR]
[COLOR=blue]End Sub[/COLOR]
[COLOR=blue]Sub[/COLOR] tri(a, gauc, droi)[COLOR=green] ' Quick sort par JB [URL="http://boisgontierjacques.free.fr/"]Formation Excel VBA JB[/URL][/COLOR]
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
[COLOR=blue]Do[/COLOR]
[COLOR=blue]Do While[/COLOR] a(g) < ref: g = g + 1: [COLOR=blue]Loop[/COLOR]
[COLOR=blue]Do While[/COLOR] ref < a(d): d = d - 1: [COLOR=blue]Loop[/COLOR]
[COLOR=blue]If[/COLOR] g <= d [COLOR=blue]Then[/COLOR]
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Loop While[/COLOR] g <= d
[COLOR=blue]If[/COLOR] g < droi [COLOR=blue]Then Call[/COLOR] tri(a, g, droi)
[COLOR=blue]If[/COLOR] gauc < d [COLOR=blue]Then Call[/COLOR] tri(a, gauc, d)
[COLOR=blue]End Sub[/COLOR]