Comment trier des nombres situés au sein d’une même cellule dans Excel ?
Lorsque vous travaillez avec Excel, trier des nombres sur une plage de cellules ou dans une colonne est une tâche courante et simple. Cependant, il arrive que vous ayez besoin de trier des nombres tous situés dans une même cellule — par exemple, si vous recevez des données importées, des rapports consolidés ou des fichiers exportés où plusieurs nombres sont stockés ensemble sans être répartis dans des cellules distinctes. Trier manuellement les nombres dans chaque cellule peut s’avérer inefficace et source d’erreurs, surtout lorsque vous traitez de grandes quantités de données ou des cellules contenant de nombreux chiffres. En utilisant des techniques spécifiques, vous pouvez rapidement réorganiser les nombres au sein de cellules individuelles afin de répondre à vos besoins d’organisation ou d’analyse des données.
Dans cet article, découvrez plusieurs méthodes pratiques pour trier des nombres directement dans les cellules Excel : formules, fonctions personnalisées (User Defined Functions) et code VBA. Chaque approche offre des avantages spécifiques et s’adapte à des cas d’usage variés, vous permettant de choisir la solution idéale pour vos besoins.
Trier des nombres à l’intérieur de cellules à l’aide d’une formule
Trier des nombres à l’intérieur de cellules avec une fonction personnalisée
Trier des nombres séparés par des virgules à l’intérieur de cellules à l’aide de code VBA
Trier des nombres à l’intérieur de cellules à l’aide d’une formule
Pour les cas simples où tous les caractères numériques d’une cellule sont des chiffres uniques et qu’aucun délimiteur n’est présent, vous pouvez utiliser une formule matricielle pour trier automatiquement ces chiffres. Cette solution s’avère particulièrement utile avec des codes, des identifiants ou toute autre situation exigeant de réorganiser des chiffres uniques selon un ordre précis.
Veuillez suivre ces étapes détaillées :
1. Insérez une nouvelle colonne à côté de vos données. Par exemple, si vos nombres se trouvent dans la cellule A1, cliquez sur la cellule B1 et saisissez la formule suivante :
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))

2. Étant donné qu’il s’agit d’une formule matricielle, validez-la en appuyant sur Ctrl + Maj + Entrée. Des accolades apparaîtront autour de la formule dans la barre de formule, indiquant qu’elle est évaluée comme une matrice.
Ensuite, faites glisser la poignée de recopie vers le bas pour appliquer la formule aux autres cellules nécessitant cette fonction de tri. Les nombres dans chaque cellule seront automatiquement classés par ordre croissant. Voir l’exemple ci-dessous :

Pour une utilisation plus fiable, vérifiez attentivement que vous faites référence aux bonnes cellules et que vos données d’origine ne contiennent que des chiffres, car la présence de texte mélangé ou d’autres caractères pourrait entraîner des problèmes.
Remarques :
- Si une cellule contient plus de 15 chiffres, cette formule risque de ne pas fonctionner correctement en raison de la limite de précision numérique par défaut d’Excel. Pour des chaînes plus longues ou des combinaisons de chiffres plus complexes, privilégiez plutôt une solution VBA ou une fonction personnalisée.
- Pour trier les nombres par ordre décroissant, remplacez PETITE.VALEURpar GRANDE.VALEURdans la formule, et utilisez :
=TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))
Cette formule fonctionne de la même manière, mais trie les chiffres du plus grand au plus petit.
- Dans ces formules, A1 fait référence à la cellule contenant les nombres que vous souhaitez trier. Si vos données se trouvent dans une autre cellule, il vous suffit de mettre à jour la référence en conséquence.
- Si vous obtenez une erreur #VALEUR!, vérifiez que la cellule ne contient que des chiffres, sans espaces ni aucun autre caractère.
- Lorsque vous appliquez cette méthode à un vaste jeu de données, assurez-vous que les options de calcul de votre système sont définies sur « automatique », afin que les résultats des formules soient correctement mis à jour dès que vous copiez ou modifiez les données.

Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Trier des nombres à l’intérieur de cellules avec une fonction personnalisée
Dans certaines situations — notamment lorsqu’on travaille avec des nombres de plus de 15 chiffres ou quand une plus grande flexibilité est nécessaire —, une fonction personnalisée (UDF) s’impose comme une alternative robuste. Les UDF permettent d’automatiser le tri directement au sein des cellules, surtout lorsque vos besoins dépassent les capacités des formules Excel standard.
Cette solution convient particulièrement aux utilisateurs qui travaillent fréquemment avec des colonnes de données importées ou des codes regroupés dans des cellules uniques, où la longueur de la cellule peut être importante et où les nombres doivent être triés de façon répétée.
Voici comment l’implémenter :
1. Appuyez et maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications (VBA).
2. Dans la fenêtre VBA, cliquez sur Insertion > Module, puis copiez-collez le code suivant dans la fenêtre du module nouvellement créé :
Code VBA : Trier des nombres à l’intérieur de cellules
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'UpdatebyExtendoffice
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. Après avoir collé le code, sauvegardez et fermez l’éditeur VBA. Revenez à votre feuille de calcul et, dans une cellule vide adjacente à vos données (par exemple B1 ou C1), saisissez :
=sortnumsincell(A1)

4. Faites glisser la poignée de recopie pour étendre la fonction aux autres cellules selon vos besoins. Tous les nombres contenus dans chaque cellule ciblée seront désormais triés par ordre croissant, comme illustré ci-dessous :

Remarque :Si vous souhaitez trier les nombres par ordre décroissant, saisissez plutôt la formule suivante :
=sortnumsincell(A1,1)
L’argument supplémentaire ()1) indique à la fonction d’effectuer un tri en ordre décroissant.
Cette solution, basée sur une UDF, offre une flexibilité et une précision accrues avec des jeux de données plus volumineux ou plus complexes, tout en évitant les erreurs courantes liées aux limites de chiffres imposées par les formules.
Si vous rencontrez des erreurs de compilation, vérifiez soigneusement que le code de votre module a été correctement collé et que le nom de la fonction correspond exactement à celui utilisé dans votre formule de feuille de calcul.
Trier des nombres séparés par des virgules à l’intérieur de cellules à l’aide de code VBA
Lorsque des nombres figurant dans une cellule sont séparés par des délimiteurs spécifiques — comme des virgules, des points-virgules ou même des points — les formules intégrées peuvent s’avérer insuffisantes. Dans ces situations, un code VBA personnalisé permet de trier efficacement ces nombres, quelle que soit la quantité de cellules à traiter.
Les scénarios applicables incluent les listes exportées depuis des bases de données, les réponses à des enquêtes collectées, ou tout jeu de données dans lequel des valeurs numériques sont stockées dans une seule cellule et séparées par un délimiteur cohérent.
Suivez ces étapes pour exécuter le code VBA destiné au tri :

1. Appuyez sur ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code ci-dessous dans la fenêtre du module :
Code VBA : Trier des nombres séparés par des virgules à l’intérieur de cellules
Sub SortNumsInRange()
'Update20140717Dim Rng As RangeDim WorkRng As RangeDim Arr As VariantOn Error Resume NextxTitleId = "KutoolsforExcel"
Set WorkRng = Application.SelectionSet 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, ",")
NextEnd Sub 3. Pour exécuter le code, appuyez sur F5. Une invite apparaîtra alors, vous permettant de sélectionner la plage contenant les cellules à trier.

4. Après confirmation avec OK, le code triera les nombres de toutes les cellules sélectionnées par ordre croissant, et les modifications seront appliquées directement sans altérer le reste du contenu des cellules.
Remarque : Si vos nombres sont séparés par un autre caractère (par exemple un point-virgule ou un espace), remplacez simplement la virgule « , » dans Split(Rng.Value, ",") et Join(Arr, ",") par votre délimiteur choisi, dans les deux emplacements du code.
Ce code effectue uniquement un tri croissant. Pour trier par ordre décroissant, vous devrez adapter la logique de tri dans le code VBA. Pensez toujours à sauvegarder votre classeur avant d’exécuter du code VBA, car les modifications s’appliquent immédiatement et ne peuvent pas être annulées via la fonction Annuler.
Si une cellule contient du contenu non numérique, le code pourrait ne pas produire le résultat escompté ; veillez donc à vérifier vos données et à détecter tout contenu mixte avant son exécution.
Trier des nombres à l’intérieur de cellules à l’aide de la fonctionnalité Remplissage instantané d’Excel
Pour les petits jeux de données ou lorsque les nombres d’une cellule suivent un modèle prévisible, la fonctionnalité Remplissage instantané d’Excel offre une solution manuelle rapide. Elle est particulièrement efficace pour trier des nombres dans quelques cellules seulement, à condition que la structure soit simple.
Voici comment utiliser le Remplissage instantané pour trier des nombres à l’intérieur de cellules :
1. Dans une nouvelle colonne adjacente à vos données, saisissez manuellement la version triée des chiffres provenant de votre première cellule (par exemple, si A1 contient)8371, saisissez 1378 dans la cellule B1).
2. Sélectionnez la cellule suivante dans la même colonne et commencez à saisir la version triée de l’entrée suivante. Après quelques exemples, appuyez sur Ctrl + E (raccourci Remplissage instantané) : Excel reconnaîtra automatiquement le modèle et remplira les cellules restantes selon votre exemple de tri.
Cette méthode est rapide, mais elle convient surtout aux listes courtes ou lorsque la structure des données est très régulière. Elle exige toutefois que vous saisissiez au moins quelques résultats triés afin qu’Excel puisse identifier la transformation souhaitée.
Le Remplissage instantané n’est pas fiable avec des modèles complexes ou lorsque vos chiffres sont séparés par des caractères spéciaux. Vérifiez toujours l’exactitude des résultats générés automatiquement.
Remarque : cette méthode peut ne pas fonctionner dans tous les cas.
Lors du choix d’une approche, tenez compte de la structure de vos données (chiffres isolés ou nombres comportant des séparateurs), de la longueur de la chaîne à traiter et du nombre de cellules concernées. Les méthodes fondées sur des formules conviennent idéalement aux chaînes courtes dépourvues de délimiteurs, tandis que les solutions VBA ou UDF offrent une flexibilité et une puissance accrues pour gérer des ensembles de données complexes ou volumineux.
Vérifiez attentivement vos données d’origine afin de détecter d’éventuels espaces invisibles, du texte ou des problèmes de mise en forme avant d’appliquer une solution. Après avoir trié les chiffres, il est recommandé de valider le résultat en comparant quelques échantillons avec les données d’origine.
Si vous rencontrez des problèmes, vérifiez que votre version d’Excel prend en charge les formules matricielles (Excel 2016 ou une version ultérieure offre une meilleure compatibilité) et que les macros sont activées pour les méthodes VBA. Si le tri ne produit pas l’effet escompté, ajustez la formule ou le code VBA en fonction de la structure de vos cellules.
Articles associés :
Comment trier des nombres contenant des traits d’union dans Excel ?
Comment trier des données par la valeur la plus fréquente dans Excel ?
Comment trier Adresse e-mail par domaine dans Excel ?
Comment trier les lignes afin de placer les cellules vides en haut dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre 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 rend votre travail bien plus facile
- Activez l’édition 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é de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels