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 :rolleyes:
J'ai la nuit pour réfléchir ^^


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

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...
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 908
Membres
103 982
dernier inscrit
krakencolas