Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

trier les données

bbobb

XLDnaute Occasionnel
Bonjour a tous,
Je dois trier les donnees d'un tableau par ordre croissant de la colonne D.
Le problème, c'est que le haut du tableau est toujours le même, mais que le nombre de ligne n'est pas fixe( ça peut aller jusqu'a 30000...)

J'ai donc essayé avec le code :

ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range( _
"D2:S2", Selection.End(xlDown)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("D2:S2", Selection.End(xlDown))

Mais ça ne marche pas, grrrrr....

Je joint un fichier exemple pour plus de clarté.

Merci d'avance pour votre aide.
Bonne journée

Bbobb
 

Pièces jointes

  • Classeur2.xls
    29.5 KB · Affichages: 22
  • Classeur2.xls
    29.5 KB · Affichages: 28
  • Classeur2.xls
    29.5 KB · Affichages: 32

laetitia90

XLDnaute Barbatruc
Re : trier les données

bonjour bbobb

je pars de a2 a s jusqu'a la derniere ligne a adapter

Code:
Range("a2:s" & Cells.Find("*", , , , , xlPrevious).Row).Sort Key1:=[d2], Order1:=xlAscending, Header:=xlGuess
 

mécano41

XLDnaute Accro
Re : trier les données

Bonjour à tous,

Comme ceci par ex...

La colonne à trier peut être directement indiquée dans le code (ColTri = "D" par ex.)

Il ne faut rien à droite de la dernière colonne ni en dessous de la dernière ligne de la zone à trier. Les colonnes intermédiaires peuvent rester vides.

Cordialement
 

Pièces jointes

  • Tri1.xls
    40 KB · Affichages: 40
  • Tri1.xls
    40 KB · Affichages: 32
  • Tri1.xls
    40 KB · Affichages: 41
Dernière édition:

spahi

XLDnaute Nouveau
Re : trier les données

bonjour,


essaye de prendre le sujet a l'envers:
cherche la dernière ligne en partant du fond du tableur.

Set d = Range("a65000").End(xlUp)
derniere_ligne = d.Row
 

bbobb

XLDnaute Occasionnel
Re : trier les données

Bonsoir à tous,
encore un grand merci pour votre aide, grace à vous, je suis arrivé à ce code (qui marche!) :

Code:
ColTri = "D"
Set PlageAtrier = .Range("A2:S2", Selection.End(xlDown))
...bien sur parce que le palge "A2:S2" est fixe...

Bonne soirée
Bbobb
 

mécano41

XLDnaute Accro
Re : trier les données

Bonjour,

Attention aux End(xlDown) (et EndXlToRight) : s'il manque une donnée dans la ligne (ou dans la colonne), le code considère le premier "trou" comme la fin des données...A n'utiliser que si l'on est sûr que la tableau est plein.

Cordialement
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…