Mauvais tri

G

Giorgio

Guest
Bonjour à tous

Mon souci est le suivant: J'ai une liste de référence du type Pr101, Pr102...jusque Pr1499. Lorsque je demande à Excel de trier mes données par ordre croissant il me place les Pr1000 avant le Pr100 et etc. J'ai éssayé plusieurs formats de cellule mais je ne trouve pas.

Merci pour votre aide.
 

Hervé

XLDnaute Barbatruc
Bonjour giorgio, marc, le forum

je ne t'apporterai qu'une solution VBA.

Sub Bouton1_QuandClic()
Dim tablo As Variant
Dim i As Integer, j As Integer
Dim temp As String

tablo = Range('a1:a' & Range('a65536').End(xlUp).Row)

For i = 1 To UBound(tablo)
   
For j = 1 To UBound(tablo)
       
If CSng(Mid(tablo(i, 1), 3)) < CSng(Mid(tablo(j, 1), 3)) Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = tablo(i, 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(i, 1) = tablo(j, 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tablo(j, 1) = temp
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
Next j
Next i

For i = 1 To UBound(tablo)
&nbsp; &nbsp; Cells(i, 3) = tablo(i, 1)
Next i

End Sub

démo en pièce jointe.

salut
[file name=Classeur1_20051031113357.zip size=7697]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20051031113357.zip[/file]
 

Pièces jointes

  • Classeur1_20051031113357.zip
    7.5 KB · Affichages: 31

andré

XLDnaute Barbatruc
Salut Gorgio et Marc_du_78,

C'est normal puisque tes valeurs sont alphabétiques et que dès lors Excel les trie suivant leur position.

Si tes valeurs sont en colonne A place la formule suivante en colonne B :
DROITE(A1;NBCAR(A1)-2)*1
puis tu tries les deux colonnes sur la colonne B.
La colonne A sera triée comme tu le souhaites.


Â+
 

Discussions similaires

Statistiques des forums

Discussions
312 816
Messages
2 092 331
Membres
105 367
dernier inscrit
jych