Tri par ordre croissant dans une cellule
Résolu/Fermé
sandwyne
-
13 oct. 2016 à 16:53
The_boss_68 Messages postés 929 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 3 décembre 2024 - 14 oct. 2016 à 17:52
The_boss_68 Messages postés 929 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 3 décembre 2024 - 14 oct. 2016 à 17:52
A voir également:
- Vba trier colonne par ordre croissant
- Excel trier par ordre croissant chiffre - Guide
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Colonne word - Guide
- Vba dernière colonne non vide ✓ - Forum VB / VBA
6 réponses
The_boss_68
Messages postés
929
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
3 décembre 2024
178
14 oct. 2016 à 13:44
14 oct. 2016 à 13:44
Bonjour,
teste ce code, normalement il devrait faire ton affaire, les valeurs numériques à l'origine sont en colonne A et les valeurs trier dans l'ordre croissant seront en colonne B
Ps: pour lancer ta macro il faut créer un bouton de Cde
Slts
teste ce code, normalement il devrait faire ton affaire, les valeurs numériques à l'origine sont en colonne A et les valeurs trier dans l'ordre croissant seront en colonne B
Ps: pour lancer ta macro il faut créer un bouton de Cde
Private Sub CommandButton1_Click()
Dim plage As Range, DerCel As Range, cel As Range
Dim tbl(), TbTrie As Integer, x As Integer, cible
With Sheets("Feuil1") 'à remplacer par le nom de feuille
Set DerCel = .Range("A" & .Rows.Count).End(xlUp)
Set plage = .Range("A2", DerCel) 'si titre en A1
For Each cel In plage
ReDim tbl(UBound(Split(cel, ",")))
For x = 0 To UBound(tbl)
tbl(x) = Split(cel, ",")(x)
Next x
Do
TbTrie = 0
For x = 0 To UBound(tbl) - 1
If Val(tbl(x)) > Val(tbl(x + 1)) Then
cible = tbl(x)
tbl(x) = tbl(x + 1)
tbl(x + 1) = cible
TbTrie = 1
End If
Next x
Loop While TbTrie = 1
cible = Join(tbl, ",")
cel(1, 2) = cible
Next cel
End With
End Sub
Slts
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
13 oct. 2016 à 17:11
13 oct. 2016 à 17:11
Bonjour,
Tu peux effectuer cette opération en 3 temps :
1) scinder la cellule avec la virgule pour séparateur,
2) effectuer le tri des éléments
3) regrouper ces éléments.
A+
Tu peux effectuer cette opération en 3 temps :
1) scinder la cellule avec la virgule pour séparateur,
2) effectuer le tri des éléments
3) regrouper ces éléments.
A+
Raymond PENTIER
Messages postés
58777
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
17 258
Modifié par Raymond PENTIER le 14/10/2016 à 03:20
Modifié par Raymond PENTIER le 14/10/2016 à 03:20
Bonjour sandwyne.
Non, il n'est pas possible d'effectuer un tri à l'intérieur d'une cellule.
Il est obligatoire de sortir de la cellule, comme Gyrus le propose.
D'ailleurs pourquoi et comment plusieurs nombres se retrouvent-ils dans une même cellule ?
Excel est conçu pour gérer des données placées chacune dans sa cellule.
Il est anormal et contre-indiqué d'en mettre plus d'une par cellule.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Non, il n'est pas possible d'effectuer un tri à l'intérieur d'une cellule.
Il est obligatoire de sortir de la cellule, comme Gyrus le propose.
D'ailleurs pourquoi et comment plusieurs nombres se retrouvent-ils dans une même cellule ?
Excel est conçu pour gérer des données placées chacune dans sa cellule.
Il est anormal et contre-indiqué d'en mettre plus d'une par cellule.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Bonjour Gyrus,
J'ai déjà réalisé la solution que vous me proposez sur une vingtaine de cellules mais mon fichier en compte plus de mille!! Je ne peux pas tout traiter comme cela...Merci pour votre réponse rapide
Raymond Pentier, je me doutais bien que cela ne se faisait pas après de nombreuses recherches sur le net, mais j'avais espéré une formule miracle...! En fait mon fichier est un export de base de données voilà pourquoi j'ai des suites de nombre dans la même cellule. Merci et bonne journée à vous
J'ai déjà réalisé la solution que vous me proposez sur une vingtaine de cellules mais mon fichier en compte plus de mille!! Je ne peux pas tout traiter comme cela...Merci pour votre réponse rapide
Raymond Pentier, je me doutais bien que cela ne se faisait pas après de nombreuses recherches sur le net, mais j'avais espéré une formule miracle...! En fait mon fichier est un export de base de données voilà pourquoi j'ai des suites de nombre dans la même cellule. Merci et bonne journée à vous
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour The_boss_68
Je viens de tester ce code et ça marche, c'est génial!!!
Merci beaucoup
et très bonne fin de journée
Je viens de tester ce code et ça marche, c'est génial!!!
Merci beaucoup
et très bonne fin de journée
The_boss_68
Messages postés
929
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
3 décembre 2024
178
Modifié par The_boss_68 le 14/10/2016 à 17:55
Modifié par The_boss_68 le 14/10/2016 à 17:55
Re
Au cas ou tu voudrais trier ces valeurs numérique dans la même colonne
il faut modifier cette ligne du code
Par
Voilà
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Slts
Au cas ou tu voudrais trier ces valeurs numérique dans la même colonne
il faut modifier cette ligne du code
cel(1, 2) = cible
Par
cel(1, 1) = cible
Voilà
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Slts