Salut,
Tu parles de 2 pages avec dans chacune une seule colonne à trier en 2 colonnes
Testes ceci dans un module standard
Sub Princ()
Dim T, V, J&, I&, K&
Dim F()
F = Array("Feuil1", "Feuil2") ' à adpater le nom des feuilles
For I = LBound(F) To UBound(F)
With Sheets(F(I))
T = Range(.[A1], .[A65536].End(xlUp)) 'à adapter la plage
TriMulti T, 1, LBound(T), UBound(T)
ReDim V(1 To UBound(T, 1), 1 To 2)
J = 1
For K = LBound(T, 1) To UBound(T, 1) Step 2
V(J, 1) = T(K, 1)
On Error Resume Next
V(J, 2) = T(K + 1, 1)
J = J + 1
Next K
.[A1].Resize(UBound(V, 1), UBound(V, 2)) = V ' adapter la cellule où on veut le résulat
End With
Next I
End Sub
Sub TriMulti(Tablo, Col As Byte, Min&, Max&) 'ZOn
Dim I&, J&, K&, M, Chaine
I = Min
J = Max
M = Tablo((Min + Max) / 2, Col)
While (I <= J)
While (Tablo(I, Col) < M And I < Max)
I = I + 1
Wend
While (M < Tablo(J, Col) And J > Min)
J = J - 1
Wend
If (I <= J) Then
For K = LBound(Tablo, 2) To UBound(Tablo, 2)
Chaine = Tablo(I, K)
Tablo(I, K) = Tablo(J, K)
Tablo(J, K) = Chaine
Next K
I = I + 1
J = J - 1
End If
Wend
If (Min < J) Then TriMulti Tablo, Col, Min, J
If (I < Max) Then TriMulti Tablo, Col, I, Max
End Sub
A+++