Tri d'un tableau pré-renseigné par chiffre final (non vide) croissant

Bonjour,

Je fais exprès de créer un nouveau topic car même si j'ai déjà posé la question, celle-ci était inclue dans un programme existant. Le code n'étant pas le même d'une part (et la structure du programme pouvant varier), et la manipulation pouvant aider quelqu'un d'autre d'autre part, je propose un nouveau topic.

L'idée est de réaliser la manipulation sur un tableau Excel sur lequel on vient de remplir une partie de la feuille :

Elle consiste à trier toutes les combinaisons initialement entrées sur la feuille, de telle manière à ce que toutes celles avec le nombre final le plus grand (le nombre final étant la dernière colonne à contenir une case non vide) soient affichées simultanément à la suite, en dernier ?

Ici, voici juste un exemple simplifié :

Situation de départ

123123
12112
132122
123121
1321212
312213
213123
22113
212311
121121312
2121233
1223112

Situation d'arrivée :

12112
132122
123121
1321212
212311
121121312
1223112
123123
312213
213123
22113
2121233

Dans l'exemple fourni, le chiffre final le plus élevé du tableau est "3" : toutes les combinaisons ayant leur dernière colonne remplie égale à 3 se retrouvent en dernier.

Le programme devrait normalement s'appliquer à la capacité entière de la feuille Excel (toutes les lignes et toutes les colonnes dans la limite des limites d'Excel).

Bonus : Classer toutes ces combinaisons par chiffre final croissant serait un gros plus ;)

exemple :

123121
212311
12112
132122
1321212
121121312
1223112
123123
312213
213123
22113
2121233

En vous remerciant ! :)

Bonjour,

Je fais exprès de ne pas mettre le post en "résolu" par respect pour ceux qui ont commencé à concocter un programme (sachez d'ailleurs, que même si je viens de trouver une solution, ce n'est absolument pas inutile de faire un programme car il peut être plus adapté de le coder que de le faire manuellement).

La solution que j'ai trouvée est toute simple et prend 10 secondes.

1) Surligner toutes les colonnes à trier

2) Données => Bouton "A-Z avec la flèche" (trier du plus petit au plus grand).

Du coup, ça fonctionne car tous les chiffres finaux sont classés par ordre croissant !

Je me maudis de ne pas y avoir pensé plus tôt et de vous avoir dérangé (mais ce ne sera jamais fait pour rien !)

G.H.

Salut gthe,

ainsi ? En triant le tableau en basant le tri du tableau de colonne en colonne en allant de droite à gauche.

Dim lngRow&
'
For x = UsedRange.Columns.Count To 1 Step -1
    If x < UsedRange.Columns.Count Then lngRow = Columns(x + 1).Find _
        (what:=WorksheetFunction.Max(UsedRange), lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Row
    Range("A" & lngRow + 1).Resize(UsedRange.Rows.Count - lngRow, UsedRange.Columns.Count).Sort key1:=Range(Chr(64 + x) & lngRow + 1), order1:=xlAscending, Orientation:=xlTopToBottom, Header:=xlNo
Next


A+

Rechercher des sujets similaires à "tri tableau pre renseigne chiffre final vide croissant"