Macro sort

Bonjour,

Je cherche à créer une macro pour classer des colonnes de gauche à droite. Celle-ci devra classer du plus petit au plus grand en fonction du numéro de colonne. Jusque là, rien de compliqué.

Chaque colonne est liée à une feuille à part. Chaque colonne est composée de 3 lignes.

Ligne 1 : donnée stockée dans la feuille liée à cette colonne. La feuille lit la donnée grâce à une formule; exemple "=Feuil1!B3".

Ligne 2 : lecture d'une donnée dans la feuille liée; par exemple : "=DonnéeA!A2"

Ligne 3 : lecture de la donnée stockée dans la feuille liée; par exemple : "=DonnéeA!A1"

Le problème se passe au moment du classement. Les colonnes sont classées correctement, mais les formules du type "=Feuil1!B3" ne s'adaptent pas automatiquement. Dès lors, la troisième ligne de mon tableau n'est plus correcte.

Vu comme ça, ça parait un peu inutile. Dans le projet plus complet, j'ai besoin d'utiliser des données lues dans une feuille de résumé pour effectuer des calculs. Le résultat de ce calcul est reporté dans ma feuille résumé. Au moment de classer les colonnes, toutes les données sont mélangées.

D'avance, merci beaucoup pour votre aide.

18test.xlsm (16.67 Ko)

Bonjour,

à tester,

Sub classement()
n = Cells(2, Columns.Count).End(xlToLeft).Column

For i = 2 To n
 Set titre = Range(Cells(2, 2).Address, Cells(2, n).Address)
 x = i - 1
 s = Application.Small(titre, x)
 t = Application.Match(s, Rows(2), 0)
 Columns(t).Cut
 Columns(n + 1).Insert Shift:=xlToRight
Next
End Sub

Merci beaucoup, ça fonctionne bien.

Il n'y a plus qu'à mettre cette solution en place dans mon projet. Beau boulot!

Rechercher des sujets similaires à "macro sort"