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

Tri sur 2 colonnes

Alpha41

XLDnaute Junior
Bonjour,
je fais le tri d'une plage de donnée à l'aide de 2 critères :

Le numéro de SE et le numéro de DI.
Cependant tout se fait bien sauf quand le DI comporte 2 nombres, exemple :
DI#16

On a donc :
SE#001 DI#1
SE#001 DI#16
SE#001 DI#2
SE#001 DI#3
SE#001 DI#4

au lieu de
SE#001 DI#1
SE#001 DI#2
SE#001 DI#3
SE#001 DI#4
SE#001 DI#16

voici le code du tri :
Code:
Range("B2:V65000").Select
    Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    Key2:=Range("P2"), Order2:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Cordialement,
 
G

Guest

Guest
Re : Tri sur 2 colonnes

Bonjour,

C'est normal, car ce ne sont pas des nombres mais des chaines AlphaNumérique (on ne peut pas faire de calcul dessuis)

Solution, eclater tes données en 4 colonnes, Trier sur la colonne 2 et 4 et reconstituer tes chaines de caractères à partir de ces colonnes.

A+
 

Alpha41

XLDnaute Junior
Re : Tri sur 2 colonnes

Rebonjour,

J'ai peut-être une autre idée :
Mes "DI" et "SE" sont ajoutés en dur dans le programme. Je pourrais simplement les retirer, donc j'aurais seulement des nombres à manipuler dans mes colonnes et les ajouter après le tri tout à la fin!
C'est possible d'ajouter au début d'un nombre les lettres "SE" ou "DI" ?
 
G

Guest

Guest
Re : Tri sur 2 colonnes

Re,

Ben voilà qui résoud le problème.

Oui, si les nombres sont en A:A:

En B1 (ou 2) mettre = "DI#" & A1
Valider et tirer jusqu'à la dernière ligne des données à l'aide de la poignée de recopie (petit carré noir en bas à droite de la bordure de selection)

Si tu ne veux pas conserver les formules, selectionnes toutes les cellules puis CTRL+C puis
Edition/collage spécial/Valeur.

A+
 

Alpha41

XLDnaute Junior
Re : Tri sur 2 colonnes

EDIT1 : Je ne peux pas faire ce que tu dis, l'utilisateur doit seulement appuyer sur un bouton et attendre! Je vais essayer un truc.

EDIT2 : Marche pas mon truc
J'ai la nuit pour réfléchir ^^


Encore merci et bonne soirée
 
Dernière édition:
G

Guest

Guest
Re : Tri sur 2 colonnes

RE,

Avec un fichier exemple comprenant ce que tu as et ce que tu veux nous pourrions certainement t'aider plus efficacement.

Fait de beaux rêves de références bien triées

A+
 

Staple1600

XLDnaute Barbatruc
Re : Tri sur 2 colonnes

Bonsoir le fil, Hasco (mon canard) ................................................................. cf le bichon


Un début de piste
(Peut pas plus pour le moment, m'en vais diner)
Code:
Sub a()
Dim t$
t = "SE#001 DI#16"
MsgBox Val(Split(Split(t)(0), "#")(1))
MsgBox Val(Split(Split(t)(1), "#")(1))
End Sub
Faudrait ajouter une boucle etc...
 

Alpha41

XLDnaute Junior
Re : Tri sur 2 colonnes

Bonjour à tous!

Problème résolue par la manière la plus bête qu'il soit :
Simplement ajouter un 0! au lieu de DI#1 j'ai DI#01 donc le classement se fait nickel!
Encore merci et bonne journée
 

Discussions similaires

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