Bonjour Guithou51, patrick1957
Cher Guithou51... je pense (excuse-moi) qu'il n'y a aucun problème à réaliser ton tri (contrairement à ce que nous disions précédemment...)
En effet un tri reste un tri... ta colonne est composé de GRADES (sur 3 lettres) et de NOM... lorsque tu réalise un tri sur une colonne, Excel tri sur l'ensemble des informations de cette colonne à savoir (ici) le GRADE et le NOM, puisque ces 2 informations sont dans la même colonne => elles ne représentent (pour Excel) qu'une seule colonne !
Donc
Guithou51 a écrit :
le trie commence par le grade, c'est à dire ADC, ADJ, SCH, SGT, CCH, CPL, SAP, puis faire un trie par ordre alphabétique lorsqu’il y a plusieurs même grade.
est réalisé sans aucune complication...
Je pense que nous avons focalisé patrick1957 et moi sur la théorie du
andrea73 a écrit :
une colonne = une information
ce qui en soi est tout à fait juste... cependant dans ton cas puisque ta colonne est comme ça...
Par contre je rejoints toujours patrick1957 quand il parle du filtrage éventuel de cette colonne, qui avec la structure de cette colonne va devenir compliqué, sauf à la diviser...
Bref voici donc le code de ton bouton...
Private Sub CommandButton1_Click()
Dim ligDeb, ligFin
Dim colTri
Dim cible
ligDeb = 2
colTri = 1
ligFin = Cells(Rows.Count, colTri).End(xlUp).Row
Cells(ligDeb, colTri).Select
With ActiveWorkbook.Worksheets("Feuil1")
.Sort.SortFields.Clear
.Sort.SortFields.Add _
Key:=Range(Cells(ligDeb, colTri), Cells(ligFin, colTri)), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
With .Sort
.SetRange Range(Cells(ligDeb, colTri), Cells(ligFin, colTri))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub