Sub Test()
Dim Val_Pair(1 To 100, 1 To 100) As Variant
Dim Val_Impair(1 To 100, 1 To 100) As Variant
Dim i As Integer, Compteur_Pair As Integer, Compteur_Impair As Integer
Dim DL As Integer, Col_Gauche As Integer, Col_Droite As Integer, Ligne_Haut As Integer
Dim Ligne_Bas As Integer, Colonne_Du_Tri As Integer
'On initialise les compteurs
Compteur_Pair = 0
Compteur_Impair = 0
'On va aller paramétrer la plage de travail
Col_Gauche = 1
Col_Droite = 9
Ligne_Haut = 1
Ligne_Bas = 18
'La colonne sur laquelle on veut effectuer le TRI
Colonne_Du_Tri = 2
'La boucle For i = --> va nous permettre de boucler de haut en bas notre plage.
For i = Ligne_Haut To Ligne_Bas 'Pour chacune des lignes de notre plage
Select Case Right(Cells(i, Colonne_Du_Tri), 1) 'S'il s'agit d'un chiffre pair, alors ...
Case 0, 2, 4, 6, 8
Compteur_Pair = Compteur_Pair + 1 'On incrémente notre compteur de chiffres pairs
For j = Col_Gauche To Col_Droite 'Pour chacune des colonnes de notre plage
Val_Pair(Compteur_Pair, j) = Cells(i, j).Value 'On va conserver dans une variable la valeur de la cellule
Next j 'Passe à la colonne suivante
Case Else 'S'il s'agit d'un chiffre impair, alors ...
Compteur_Impair = Compteur_Impair + 1 'On incrémente notre compteur de chiffres impairs
For j = Col_Gauche To Col_Droite 'Pour chacune des colonnes de notre plage
Val_Impair(Compteur_Impair, j) = Cells(i, j).Value 'On va conserver dans une variable la valeur de la cellule
Next j 'Passe à la colonne suivante
End Select
Next i 'Passe à la ligne suivante
'Comme on a toute notre info dans des variables, on peut libérer la plage. On enlève donc toutes les infos
'qui sont comprises dans notre plage
Range(Cells(Ligne_Haut, Col_Gauche), Cells(Ligne_Bas, Col_Droite)).ClearContents
'On va ensuite ressortir notre information
For i = 1 To Compteur_Pair 'On va commencer par boucler sur tous les chiffres pairs
For j = Col_Gauche To Col_Droite 'On va boucler toutes les colonnes de notre plage
Cells(i, j).Value = Val_Pair(i, j) 'On inscrit sur la bonne ligne et sur la bonne colonne l'information
'contenue dans notre variable tablo à deux dimensions
Next j 'passe à la prochaine colonne
Next i 'passe à la prochaine ligne
DL = Cells(1, Colonne_Du_Tri).End(xlDown).Row 'On va aller chercher la dernière cellule de chiffres pairs
For i = 1 To Compteur_Impair 'On va boucler sur tous les chiffres impairs ensuite
For j = Col_Gauche To Col_Droite 'On va boucler toutes les colonnes de notre plage
Cells(i + DL, j).Value = Val_Impair(i, j) 'On inscrit sur la bonne ligne et sur la bonne colonne l'information
Next j 'passe à la prochaine colonne
Next i 'passe à la prochaine ligne
End Sub