Tri d'une zone avec macro

drop91

XLDnaute Junior
Bonjour,
je suis confronter à un problème, je souhaite trier une zone de cellules, grâce à un bouton de contrôle lorsque je le sélectionne, je trie la colonne en ordre croissant. Pour cela j'utilise la macro suivante :

Sub Try(cellule As String)
Application.ScreenUpdating = False
Range("lazone").Select ' avec lazone=L4C1:L69C3
Selection.Sort Key1:=Range(cellule), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.ScreenUpdating = True
Range("A1").Select
End Sub

Problème tout fonctionne bien sur la 2éme et 3éme colonne mais pas sur la première qui trie que les 60 premières valeurs, y a t'il une fonction qui manque ?, bref je bloque et je ne sais pas quoi faire.
Si vous avez une solution, je suis preneur.
En vous remerciant par avance.
 

Pièces jointes

  • Fichier essai tri.xlsm
    35.1 KB · Affichages: 12
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour drop

Il faut corriger la colonne A, il y a des 2 - 5 et 6 écrit en texte et non en nombre; c'est pour ça que la colonne n'est pas triée correctement. Ensuite tu peux modifier la macro comme ceci

VB:
Option Explicit

Sub Try(cellule As String)
Dim derlig As Long, plage As Range

    Application.ScreenUpdating = False
    derlig = Range("a" & Rows.Count).End(xlUp).Row

    Set plage = Range("a4:c" & derlig)
    plage.Sort Range(cellule), xlAscending
End Sub
 
Dernière édition:

drop91

XLDnaute Junior
Un grand Merci Lone-Wolf,
le problème c'est que j'ai du faire des copier coller de cellule ce qui m'a mis la/les cellule(s) en texte.

En plus la nouvelle macro ne fait plus appel à un nom (définissant le champ de tri) , maintenant je peux rajouter des colonnes et ne plus me soucier de modifier le nom de zone.

Merci encore.:);)
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 326
Membres
102 862
dernier inscrit
Emma35400