Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

tri alphanumérique

7 réponses
Avatar
zol
Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour
car j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffre,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier

7 réponses

Avatar
lSteph
Bonjour,

Comment arrivent ces codes dans la cellule?

l'idée serait de ne pas utiliser de codes à trois chr s'il en existe à
4.. idem pas de 4 s'il en existe à 5

ainsi
prévoir
de 001A jusqu'à 999Z
si cela doit dépasser
de 0001A jusqu'à 9999Z
...etc...

@+

lSteph

Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour car
j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffre,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier


--
- -

Avatar
JB
Bonsoir,


Sub essai()
[b:b].Insert
For Each c In Range([A2], [a65000].End(xlUp))
c.Offset(0, 1).Value = String(4 - Len(c), "0") & c
Next c
Range("A2").CurrentRegion.Select
Selection.Offset(1).Resize(Selection.Rows.Count - 1).Select
Selection.Sort key1:=[B2]
[b:b].Delete
End Sub

http://cjoint.com/?mxuagoK4DL

JB


Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour
car j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffr e,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier


Avatar
lSteph
Re,
Supposons donc que le maxi soit ici exemple 4chr avec forcément des
chiffres au début
tu peux trier sur une colonne adjacente qui prend tes codes en
référence
ex:

=SI(D2="";"";CHOISIR(NBCAR(D2);"000";"00";"0";"")&D2)

Cdlt.

lSteph

Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour car
j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffre,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier


--
- -

Avatar
JB
Autre solution,

Ajoute des 0 invisibles devant les chaines à la saisie:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Application.EnableEvents = False
If IsNumeric(Target) Then Target = Target & "'"
If Len(Target) < 5 Then
Target = "'" & String(5 - Len(Target), "0") & Target
End If
Target.Font.ColorIndex = 0
i = 1
Do While i < Len(Target) And Mid(Target, i, 1) = "0"
Target.Characters(Start:=i, Length:=1).Font.ColorIndex =
Target.Interior.ColorIndex
i = i + 1
Loop
If Right(Target, 1) = "'" Then
Target.Characters(Start:=Len(Target), Length:=1).Font.ColorIndex
= Target.Interior.ColorIndex
End If
Application.EnableEvents = True
End If
End Sub

http://cjoint.com/?mxumTTZtN6

JB

Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour
car j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffr e,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier


Avatar
lSteph
Bonsoir,
et si on veut pas se prendre la tête à savoir le nombre de caractère
maxi, il doit être dans la colonne..

=SI(D2="";"";REPT("0";MAX(NBCAR($D$2:$D$4000))-NBCAR(D2))&D2)
AttenTion: à valider en matricielle donc Ctrl+Shift(maj)+Entrée
ET seulement après à recopier vers le bas!

Cdlt.

lSteph

zol a utilisé son clavier pour écrire :
Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour car
j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style " 250F".
Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier chiffre,
puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier


--
- -

Avatar
Daniel
Bonsoir.
Dans la colonne d'à côté, mets
=REPT("0";4-NBCAR(A1))&A1
(si tes données commencent en A1)
recopie, et trie les deux colonnes la seconde colonne.
Cordialement.
Daniel
"zol" a écrit dans le message de news:

Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour
car j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style "
250F". Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier
chiffre, puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier



Avatar
zol
Ouahou... c'est Noel avant l'heure!!!

Merci pour toutes vos aides... je vias étudier tout ca!!!

cordialement




"Daniel" a écrit dans le message de news:

Bonsoir.
Dans la colonne d'à côté, mets
=REPT("0";4-NBCAR(A1))&A1
(si tes données commencent en A1)
recopie, et trie les deux colonnes la seconde colonne.
Cordialement.
Daniel
"zol" a écrit dans le message de news:

Bonjour à tous...

je me permets de recréer un fil suite au précent fait il y a quelque jour
car j'ai dévié sur un nouveau pb...

Voila:

J'ai une colonne de 4000 lignes qui contient des référence du style "
250F". Et je voudrais les trier les lignes selon ces réferences.

Or le pb c'est que lorsque je lance le tri, il trie sur le premier
chiffre, puis le second etc...
ce qui donne que l'on a au final :

624B
75F

au lieu de

75F
214B


il y a t'il un moyen de résoudre ce pb?

Merci par avance et BONNES FETES!!!!

Olivier