Trier des chiffres et des chiffres avec 1 lettre

Marboi

XLDnaute Occasionnel
Bonjour à vous tous,

J'ai trouvé sur le site une macro permettant de trier des chiffres avec parfois une lettre, excel fait le tri automatique en prenant d'abord les chiffres et ensuite les chiffres avec des lettres, mais mon projet doit ressembler à par exemple :

1 252153 3
8 252153a 1
5 253153b 1
7 254125 4
2 254125b 1
etc...
Le 1er chiffre étant un lieu chiffré, le 2ème la référence à trier et le 3ème la quantité.

Mon problème est donc que c'est un tri sur 3 colonnes :
la 1ère contient un code de lieu chiffré, la 2ème la référence à trier et la 3ème la quantité.

Comment pouvoir adapter cette macro à mon projet ?

Voici le lien :

https://www.excel-downloads.com/threads/tri-avec-chiffre-suivi-de-lettre.27756/

Merci par avance
 

Pièces jointes

  • Classeur tri.zip
    12.6 KB · Affichages: 100
  • Classeur tri.zip
    12.6 KB · Affichages: 89
  • Classeur tri.zip
    12.6 KB · Affichages: 90

Modeste

XLDnaute Barbatruc
Re : Trier des chiffres et des chiffres avec 1 lettre

Salut Marboi, le forum,

A première vue, ce que la macro fait, c'est "splitter" les infos (n° suivi d'une lettre) dans 2 colonnes (via des formules), puis faire le tri, puis un collage spécial, puis coller les valeurs.
MAIS, avant d'aller plus loin, tu as (au moins) en B79 et B96 de ton fichier, des "numéros" qui commencent par une lettre ! S'agit-il d'une erreur ou cette situation risque-t-elle effectivement d'être rencontrée ?
Le traitement des données ne sera forcément pas le même.

Modeste
 

Marboi

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Bonjour à toi Modeste et merci,

Effectivement il arrive parfois qu'il y ait une lettre qui commence le n° de référence, mais c'est plutôt rare, alors je me disais que ça aller encore compliquer la tâche....C'est pourquoi je n'en ai pas parlé.
 

julberto

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Bonjour

Si on exclue les références commençant par une lettre, cette macro peut sans doute convenir.
Elle ajoute temporairement une quatrième colonne en format texte.
Puis le tri in-situ est fait sur cette colonne avant qu'elle soit effacée.


Sub TonTri()
Set zone = Range("A3:D" & [A65536].End(xlUp).Row)
zone.Columns(4).FormulaR1C1 = "="" "" & RC[-2]"
zone.Sort Key1:=Range("D3"), OrderCustom:=1, DataOption1:=xlSortNormal
zone.Columns(4).Delete​
End Sub

Bonne journée.

Lire évidemment : Set zone = Range("A3: D" & [A65536].End(xlUp).Row)
en ôtant l'espace devant D
 
Dernière édition:

Marboi

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Bonjour Julberto et Boisgontier,

Merci de vous préoccuper de mon oblème :

Pour Julbberto, il me dit que la variable set zone = n'est pas définie.

Pour Boisgontier, ça marche bien mais le problème est que le tri se fait aussi par le lieu, et ça je ne veux pas : le tri doit se faire croissant par la colonne B et doit apparaître devant chaque ligne triée, son lieu et sa quantité.

exemple :

1 176283 4
3 126053 2
5 112023 1

doit donner

5 112023 1
3 126053 2
1 176283 4




Merci
 

julberto

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Re Marboi,

Relis bien la note de modification que j'ai ajoutée à la fin du post.
Car quand on tape ":D" cela est traduit par un émoticone.

Voili voilou.

Même problème : comprendre cet émoticone comme étant "deux point suivi immédiatement de la lettre majuscule d"
 
Dernière édition:

Marboi

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Bah oui Julberto,

J'ai bien relu ta note et j'en ai tenu compte... Mais à priori j'ai un souci, je joins une copie d'écran en Jpeg.

Merci
 

Pièces jointes

  • Julberto.jpg
    Julberto.jpg
    41.6 KB · Affichages: 161

julberto

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Re Marboi,

C'est parce que l'option explicite est active.
De 2 choses l'une :
- ou tu la supprimes
- ou tu déclares explicitement les variables.

Ci-joint ton fichier.

Je voudrais souligner que la proposition de Boisgontier tient compte des rubriques possédant une lettre avant la série de chiffres. La mienne NON!!


A +
 

Pièces jointes

  • Classeur tri.zip
    15.4 KB · Affichages: 66
  • Classeur tri.zip
    15.4 KB · Affichages: 69
  • Classeur tri.zip
    15.4 KB · Affichages: 75
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Trier des chiffres et des chiffres avec 1 lettre

re-bonjour Marboi, julberto, JB, tous les autres,

Ne sachant si JB repassera par ici, il me semble qu'il suffit d'adapter le code proposé par lui:
Code:
  Range("A3:d10000").Select
  [COLOR="Red"]Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("C3") _
        , Order2:=xlAscending, Key3:=Range("D3"), Order3:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False[/COLOR]
  [c:c].Delete
... Par ce qui suit:
Code:
  Range("A3:d10000").Select
  Selection.Sort Key1:=Range("c3"), Order1:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False
  [c:c].Delete
pour limiter le tri à la colonne des n° de références ?

A tester, pour confirmer

Modeste
 

JCGL

XLDnaute Barbatruc
Re : Trier des chiffres et des chiffres avec 1 lettre

Bonjour à tous,

Julberto : en utilisant la balise "code" BB (le # en haut quand tu écris un message), tu aurais ceci :

Code:
Sub TonTri()[INDENT]Set zone = Range("A3:D" & [A65536].End(xlUp).Row)
 zone.Columns(4).FormulaR1C1 = "="" "" & RC[-2]"
zone.Sort Key1:=Range("D3"), OrderCustom:=1, DataOption1:=xlSortNormal
zone.Columns(4).Delete[/INDENT]End Sub
A+ à tous
 

julberto

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Merci JCGL.

J'avais bien repéré la balise et je comptais l'utiliser dans un prochain envoi pour en connaître l'intérêt.

L'apport des habitués est essentiel aux newbies.....

Merci
 

Marboi

XLDnaute Occasionnel
Re : Trier des chiffres et des chiffres avec 1 lettre

Bonjour à vous tous,

Je vous remercie tous de m'avoir aidé ; du fait, je ne sais pas quelle formule je vais utiliser, mais je les garde précieusement. Elles ont chacune leur intérêt.

Encore merci et bonne journée.
 

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia