Comment trier des nombres dans une cellule sous Excel ?
Il est facile et courant pour nous de trier des nombres dans une liste de colonnes, mais avez-vous déjà essayé de trier des nombres à l'intérieur d'une seule cellule ? Il se peut qu'il n'y ait pas de bonne méthode pour vous, sauf les organiser un par un. Ici, je vais parler de la façon de trier des nombres dans des cellules sous Excel.
Trier des nombres dans des cellules avec une formule
Trier des nombres dans des cellules avec une fonction définie par l'utilisateur
Trier des nombres séparés par des virgules dans des cellules avec du code VBA
Trier des nombres dans des cellules avec une formule
Pour trier des nombres dans des cellules d'une feuille de calcul, vous pouvez appliquer la formule longue suivante, veuillez procéder comme suit :
1. À côté de vos données, veuillez entrer la formule suivante, dans cet exemple, je vais la taper dans la cellule C1, voir capture d'écran :
=TEXT(SOMME(PETITE.VALEUR(--STXT(A1,LIGNE(INDIRECT("1:"&NBCAR(A1))),1),LIGNE(INDIRECT("1:"&NBCAR(A1))))*10^(NBCAR(A1)-LIGNE(INDIRECT("1:"&NBCAR(A1))))),REPT("0",NBCAR(A1)))
2. Ensuite, appuyez simultanément sur Ctrl + Maj + Entrée, puis faites glisser la poignée de recopie sur la plage où vous souhaitez appliquer cette formule, et vous obtiendrez les nombres triés du plus petit au plus grand. Voir capture d'écran :
Remarques :
1. Si le nombre de chiffres du nombre dépasse 15 dans la cellule, cette formule ne donnera pas le résultat correct.
2. Si vous souhaitez trier les nombres dans l'ordre décroissant, vous pouvez utiliser cette formule : =TEXT(SOMME(GRANDE.VALEUR(--STXT(A1,LIGNE(INDIRECT("1:"&NBCAR(A1))),1),LIGNE(INDIRECT("1:"&NBCAR(A1))))*10^(NBCAR(A1)-LIGNE(INDIRECT("1:"&NBCAR(A1))))),REPT("0",NBCAR(A1))).
3. Dans les formules ci-dessus, A1 indique la cellule qui contient les nombres que vous souhaitez trier, vous pouvez la changer selon vos besoins.

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Trier des nombres dans des cellules avec une fonction définie par l'utilisateur
Comme il y a certaines limitations à la formule, vous pouvez utiliser la fonction définie par l'utilisateur suivante pour trier des nombres dans des cellules comportant plus de 15 chiffres.
1. Maintenez enfoncées les touches ALT + F11, et cela ouvre la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, et collez le code suivant dans la fenêtre Module.
Code VBA : Trier des nombres dans des cellules
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3. Ensuite, enregistrez et fermez ce code, revenez à votre feuille de calcul, et entrez cette formule =sortnumsincell(A1) dans une cellule vide à côté de vos données, voir capture d'écran :
4. Puis faites glisser la poignée de recopie vers les cellules où vous souhaitez inclure cette formule, et tous les nombres dans les cellules seront triés par ordre croissant comme le montre la capture d'écran suivante :
Remarque : Si vous souhaitez trier les nombres dans l'ordre décroissant, veuillez entrer cette formule =sortnumsincell(A1,1).
Trier des nombres séparés par des virgules dans des cellules avec du code VBA
Si vos nombres sont séparés par certains caractères tels que des virgules, des points-virgules, des points, etc., comme dans la capture d'écran suivante, comment pourriez-vous les trier dans les cellules ? Maintenant, je vous présente un code VBA pour les trier.
1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, et collez le code suivant dans la fenêtre Module.
Code VBA : Trier des nombres séparés par des virgules dans des cellules
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng
Arr = VBA.Split(Rng.Value, ",")
For i = 0 To UBound(Arr)
xMin = i
For j = i + 1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then
xMin = j
End If
Next j
If xMin <> i Then
temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp
End If
Next i
Rng.Value = VBA.Join(Arr, ",")
Next
End Sub
3. Appuyez ensuite sur la touche F5 pour exécuter ce code, puis sélectionnez vos cellules contenant les nombres dans la boîte de dialogue qui s'affiche, voir capture d'écran :
4. Puis cliquez sur OK, tous les nombres dans les cellules ont été triés par ordre croissant dans la plage d'origine.
Remarque : Vous pouvez remplacer la virgule “,” par tout autre caractère dont vous avez besoin dans le code ci-dessus. Et ce code ne peut trier les données que par ordre croissant.
Articles connexes :
Comment trier des nombres avec des traits d'union dans Excel ?
Comment trier des données par la valeur la plus fréquente dans Excel ?
Comment trier des adresses e-mail par domaine dans Excel ?
Comment trier des lignes pour placer les cellules vides en haut dans Excel ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !