XL 2016 Passage de 100 à 1000 lors d'un tri (nombre de ligne)

samuelcouni

XLDnaute Junior
Bonsoir à tous,

Je me permets de revenir vers vous car j'ai un fichier (que je ne peux pas partager malheureusement) ou je liste des incidents.
Depuis que je suis arrivé au 1000eme incidents de cette année, la fonction tri ne fonctionne plus correctement.
Pour ma 1000eme ligne par exemple elle passe juste après l'incident de la ligne 100 au lieu d'être à la fin après mon incident de la ligne 999. (tout est en format nombre et j'ai également essayé le format texte mais ça ne marche pas).

Merci par avance pour vos retours.


2022-100
2022-1000
2022-1001
2022-1002
2022-1003
2022-1004
2022-1005
2022-1006
2022-1007
2022-1008
2022-1009
2022-101
 
Solution
Bonjour,

Ce que tu décris et montres est le classement alphanumérique normal. ;)

Si tu veux un classement spécifique, je pense qu'il faut que tu modifies le format de tes valeurs à trier et passer au format 2022-0000.

Sinon tu peux ajouter une colonne sur laquelle tu feras le tri.


Le fichier en pièce jointe montre les deux propositions :
- colonne "Datas 1", les données sont au format 2022-0000, donc on peut trier directement les données de la colonne,
- colonne "Datas 2", les données sont au format actuel de tes données, donc pour les trier il faut trier la colonne intermédiaire nommée "Tri",
- colonne "Mélange", comme son nom l'indique elle sert à mélanger les lignes (un tri sur cette colonne effectue le mélange) pour faire...

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Ce que tu décris et montres est le classement alphanumérique normal. ;)

Si tu veux un classement spécifique, je pense qu'il faut que tu modifies le format de tes valeurs à trier et passer au format 2022-0000.

Sinon tu peux ajouter une colonne sur laquelle tu feras le tri.


Le fichier en pièce jointe montre les deux propositions :
- colonne "Datas 1", les données sont au format 2022-0000, donc on peut trier directement les données de la colonne,
- colonne "Datas 2", les données sont au format actuel de tes données, donc pour les trier il faut trier la colonne intermédiaire nommée "Tri",
- colonne "Mélange", comme son nom l'indique elle sert à mélanger les lignes (un tri sur cette colonne effectue le mélange) pour faire ensuite des tests de tri. ;)
 

Pièces jointes

  • Samuelcouni_(TooFatBoy-v1).xlsx
    10.8 KB · Affichages: 4
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour samuelcouni, TooFatBoy,

Comme l'a dit TooFatBoy la partie droite du numéro doit être mise au format "0000".

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Convertir()
Dim tablo, i&, s
With Range("B2:C" & Range("B" & Rows.Count).End(xlUp).Row) 'matrice, plus rapide, au moins 2 éléments
    tablo = .Value
    For i = 1 To UBound(tablo)
        s = Split(tablo(i, 1), "-")
        If UBound(s) = 1 Then If IsNumeric(s(1)) Then s(1) = Format(s(1), "0000"): tablo(i, 1) = Join(s, "-")
    Next
    .Columns(1) = tablo 'restitution
End With
End Sub
Après la conversion le tableau peut être trié convenablement.

A+
 

Pièces jointes

  • Convertir(1).xlsm
    23.5 KB · Affichages: 5

samuelcouni

XLDnaute Junior
Bonjour,

Ce que tu décris et montres est le classement alphanumérique normal. ;)

Si tu veux un classement spécifique, je pense qu'il faut que tu modifies le format de tes valeurs à trier et passer au format 2022-0000.

Sinon tu peux ajouter une colonne sur laquelle tu feras le tri.


Le fichier en pièce jointe montre les deux propositions :
- colonne "Datas 1", les données sont au format 2022-0000, donc on peut trier directement les données de la colonne,
- colonne "Datas 2", les données sont au format actuel de tes données, donc pour les trier il faut trier la colonne intermédiaire nommée "Tri",
- colonne "Mélange", comme son nom l'indique elle sert à mélanger les lignes (un tri sur cette colonne effectue le mélange) pour faire ensuite des tests de tri. ;)
 

samuelcouni

XLDnaute Junior
Bonjour samuelcouni, TooFatBoy,

Comme l'a dit TooFatBoy la partie droite du numéro doit être mise au format "0000".

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Convertir()
Dim tablo, i&, s
With Range("B2:C" & Range("B" & Rows.Count).End(xlUp).Row) 'matrice, plus rapide, au moins 2 éléments
    tablo = .Value
    For i = 1 To UBound(tablo)
        s = Split(tablo(i, 1), "-")
        If UBound(s) = 1 Then If IsNumeric(s(1)) Then s(1) = Format(s(1), "0000"): tablo(i, 1) = Join(s, "-")
    Next
    .Columns(1) = tablo 'restitution
End With
End Sub
Après la conversion le tableau peut être trié convenablement.

A+
Merci pour vos retours je test ca et je reviens vers vous
 

samuelcouni

XLDnaute Junior
Effectivement de 2022-1 à 2022-9 il suffit de remplacer "-" par '-000".

De 2022-10 à 2022-99 il suffit de remplacer "-" par '-00".

De 2022-100 à 2022-999 il suffit de remplacer "-" par '-0".
Merci pour ton support.
J'avais pas pensé à cette solution de 2022-XXXX parce que j'avais peur que mes liens hypertexte qui renvoi vers un sharepoint nécessite également une modification car chaque dossier représente un incident sous la référence 2022-XXX. Finalement ça change rien et ça n'a aucun impact.

Bon weekend à tous.
Documents2022-1012
 

Statistiques des forums

Discussions
312 111
Messages
2 085 399
Membres
102 882
dernier inscrit
Sultan94