1 pièce(s) jointe(s)
Comment trier un tableau excel du gauche à droite
Bonjour :mrgreen: ,
depuis pas mal de temps j'essaye de trier un enssemble de valeur dans un tableau à valeur varriable issus d'un traitement de donnée.
on obitien celui joint.
Alors je veux trier mon tableau de la maniére suivante :
1§ les donnée devrais étre trier on se basant sur la ligne 1 à partir de la cellue B2 et il sont de la forme suivante num.num.... jusqu'au ... X.X
exemple 1.1 1.3 1.5 .. ou bien 1.1.1 1.1.2 1.1.4 Ou bien les deux 1.1 1.1.1 .12.1 1.3
2§ Les données devrais étre trier du plus petit au plus grand et de la gauche vers la droite
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
Private Sub TriHorizontal()
Dim col As Integer
col = Cells(1, 2).End(xlToRight).Column
Range("B1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.Worksheets("synthése").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("synthése").Sort.SortFields.Add Key:=Range(Cells(1, 2), Cells(1, col) _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("synthése").Sort
.SetRange Range(Cells(1, 2), Cells(13, col))
.Header = xlGuess
.MatchCase = True
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
With Sheets("synthése")
.Select
Selection.NumberFormat = "0.00"
Dim cell As Range
Dim coll As Integer
coll = Cells(1, 1).End(xlToRight).Column
For Each cell In Range(Cells(1, 1), Cells(1, col))
If cell.Value = "Fils" Or cell.Value = "Fil" Or cell.Value = "fils" Or cell.Value = "fil" Or cell.Value = "File" Or cell.Value = "file" Or cell.Value = "Vide" Then
cell.Select
Columns(cell.Column).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ClearContents
ActiveSheet.Range("A1").Select
GoTo Pol
End If
Next cell
Pol:
End With
End Sub |
Merci d'avance :oops:
comment trier un tableau de gauche à droite
bonjour Philippe,
c'est vrai, le trie est correcte.
Ici la gêne n'est pas probante mais dans une précédente discussion sur le sujet, Matrimax demandait un trie horizontal (enfin c'est ce que j'avais compris).
Le trie donnait logiquement : Cycle 1, Cycle 10, Cycle 2, .......
Il faut avouer que dans ce cas, l'ordonnancement est un peu perturbant et ne répond pas vraiment à ce qui est attendu.
J'indiquais à Matrixmax que je ne savais comment résoudre ce problème.
Y a t-il une solution.
Cordialement.
comment trier un tableau de gauche à droite
Bonjour Philippe et Matrimax,
En revenant de ma balade, alors que je me parlais à moi-même, la solution m'est venue comme une évidence:
Un peu d'huile de coude et écrire cycle 01, cycle 02, ....., cycle 09, cycle 10.
On ne peut pas tout demander à VBA quand même.
Je n'ai pas essayé mais je ne vois aucune raison pour qu'il en soit autrement
Cordialement.
comment trier un tableau de gauche à droite
bonjour,
regardes mon message plus haut. dans le même esprit,tu peux décider que tous tes codes auront 3 caractères séparés par des points.
ce qui donne:
3.2.0 4.1.0 4.2.0 4.3.0 6.1.1 6.1.2
.0 étant non significatif