Trier plage de cellule

Bonjour à tous,

Je souhaiterai pouvoir trier la page A de mon fichier joint, avec la commandbuton.

Je souhaiterai que 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.

Quelqu'un pourrait-il m'aider?

Cordialement,

Guillaume

Bonjour,

pourquoi pas 2 colonnes ? ça règle ton problème de tri et de filtre

P.

Bonjour Guithou51, Patrick1957

patrick1957 a écrit :

pourquoi pas 2 colonnes ? ça règle ton problème de tri et de filtre

tout à fait d'accord

d'autant plus que la "règle" Excel est une colonne = une information...

Merci pour vos réponses.

Oui c'est vrai ça serai plus simple.

Mais est ce que c'est possible de la faire? Et comment?

Je me complique la vie, j'aime bien m'informer sur la programmation vba.

Est ce que quelqu'un pourrait me montrer les 2 svp?

Cordialement,

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

Bonjour andrea73 et patrick1957

Merci pour vos conseilles, qui me seront très utilise par la suite.

Et andrea73 merci pour ton code qui marche nickel.

Cordialement,

Guillaume

Bonjour Guithou51

Guithou51 a écrit :

Merci pour vos conseilles, qui me seront très utilise par la suite.

tant mieux... nous sommes là pour ça mais et donc à l'avenir, tente de concevoir tes "tableaux" en respectant la règle

"une colonne = une information"

c'est la base d'Excel, et la meilleure voix de la simplification et de l'ergonomie

Guithou51 a écrit :

Et andrea73 merci pour ton code qui marche nickel.

Bonjour andrea73,

Dsl de revenir sur le sujet, mais je souhaiterai savoir comment modifier ton code, pour que le tri se fasse dans une colonne spécifique La colonne C par exemple.

Cordialement,

Guillaume

Rechercher des sujets similaires à "trier plage"