Tri par ordre croissant

SALAH

XLDnaute Occasionnel
Bonjour à tous

J' ai un petit soucis,j' ai un tableau avec des colonnes et j'aimerais s' il est possible avec un code vb
de trier et d' organiser un tableau.
J' ai essayé de trouver une solution mais je bloque
Ci-joint un exemple pour mieux comprendre

Merci par avance
 

Pièces jointes

  • Maquette.xls
    48 KB · Affichages: 35

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@SALAH
Par commodité, j'ai défusionné certaines cellules
Le code ci-dessous fonctionne
VB:
Sub Tri_TEST_OK()
Dim l&
l = Cells(Rows.Count, "B").End(3).Row
Application.DisplayAlerts = False
Range("B9:B" & l).TextToColumns Destination:=Range("A9"), DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(1, 1))
Range("A8:D12").Sort Key1:=Range("A9:A12"), Order1:=xlAscending, Key2:=Range("B9:B12"), Order2:=xlAscending, Header:=True
End Sub
NB: A peaufiner par la suite, mais là c'est l'heure du souper ;)
 

Staple1600

XLDnaute Barbatruc
Re,

@SALAH
Il faut dé-fusionner manuellement les cellules avant de lancer ma macro.
(Cliques sur l'image pour les détails)
01TestOk.jpg
Il faut que ton tableau soit agencé comme sur la copie d'écran
(après que les cellules aient été dé-fusionnées)
 

Staple1600

XLDnaute Barbatruc
Re, Bonsoir Lone-Wolf

Ci-dessous ma macro avec le tri uniquement sur les chiffres
VB:
Sub Tri_TEST_OK_B()
Dim l&, t
l = Cells(Rows.Count, "B").End(3).Row: t = Array(Array(0, 1), Array(1, 1))
Application.DisplayAlerts = False
Range("B9:B" & l).TextToColumns Destination:=Range("A9"), DataType:=2, FieldInfo:=t
Range("A8:D" & l).Sort Key1:=Range("B8:B" & l), Order1:=1, Header:=True
End Sub
 

Discussions similaires

Réponses
0
Affichages
218
Réponses
55
Affichages
3 K
Réponses
4
Affichages
338

Statistiques des forums

Discussions
312 023
Messages
2 084 715
Membres
102 637
dernier inscrit
TOTO33000