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
234
Réponses
55
Affichages
3 K
Réponses
4
Affichages
351

Statistiques des forums

Discussions
312 231
Messages
2 086 430
Membres
103 207
dernier inscrit
Michel67