XL 2013 tri croissant sur données dans une cellule concaténée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

blond2comet

XLDnaute Nouveau
Bonjour à tous,

J'ai des cellules avec des données du type :
720 / 440 / 940 / 1200 / 231 / 100 ...
Je souhaiterai trier les données par ordre croissant mais en les gardant dans une seule cellule.
Mon problème réside dans le fait que mon nombre de "chiffres /" est différent à chaque fois et parfois peut monter à une centaine.

Ci-joint un petit fichier excel exemple.

Merci par avance pour votre aide.
 

Pièces jointes

Bonjour blond2comet, mapomme,

Même chose en utilisant la macro bien connue Quick sort :
Code:
Function Classer$(x)
If x = "" Then Exit Function
x = Split(x, "/")
tri x, 0, UBound(x)
Classer = Join(x, "/")
End Function

Sub tri(a, gauc, droi) ' Quick sort
Dim ref, g, d, temp
ref = Val(a((gauc + droi) \ 2))
g = gauc: d = droi
Do
    Do While Val(a(g)) < ref: g = g + 1: Loop
    Do While ref < Val(a(d)): d = d - 1: Loop
    If g <= d Then
      temp = a(g): a(g) = a(d): a(d) = temp
      g = g + 1: d = d - 1
    End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour