Tri ligne par ligne dans un tableau

Bonjour à tous.

Vos lumières vont peut-être résoudre mon problème.

Je cherche depuis quelques temps déjà à trier chaque ligne d'un tableau qui comporte 20 colonnes sur plusieurs milliers de lignes. Sous excel je peut faire le tri d'une ligne, mais est-il possible de faire le tri par ligne de la totalité des lignes d'un tableau d'un seul coup ?

Je connais un peu excel mais pas du tout les macros.

Vous remerciant par avance de vos conseils.

Cordialement

Norbert

216tableau-demo.xlsx (8.34 Ko)

Bonjour,

As-tu quand même installé l'onglet développeur ?

A+

Bonjour Galopin01.

Oui, en essayant divers sujets pour essayer de résoudre mon problème, j'ai effectivement installer l'onglet développeur, mais comme je l'ai annoncer je ne sait pas du tout me servir d'une macro.

Cordialement

Norbert

Bonjour Norbert

Voici une macro qui fait ce que tu demandes ...sur ton modèle !

Tu devras adapter les quatres premières lignes à ta réalité.

C'est à dire remplacer les N° de ligne et de colonne par les bons N°

Sub TriTout()
PremiereLigne = 3
DerniereLigne = 6
PremiereColonne = 2
DerniereColonne = 6
For i = PremiereLigne To DerniereLigne
TriH Range(Cells(i, PremiereColonne), Cells(i, DerniereColonne))
Next
End Sub

Sub TriH(Plg As Range)
With ActiveSheet.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Plg, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Plg
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Si la longueur des lignes est variable tu mets le chiffre le plus grand.

Pour utiliser cette macro ce n'est pas compliqué :

Faire une copie de sécurité de ton classeur... au cas ou !

Copier tout le code ci dessus depuis Sub TriTout... jusqu'à End SubAller sur ton classeur de travail

Sur l'Onglet de la feuille que tu veux trier faire un Clic Droit puis Visualiser le code

Dans la page blanche qui vient de s'ouvrir, (sous Général) Coller tout le code

Ajuster avec soin les quatres variables :

PremiereLigne = ?

DerniereLigne = ?

PremiereColonne = ?

DerniereColonne = ?

Quand c'est fini revient sur ta feuille de classeur Depuis l'onglet Développeur fait Macro (TriTout) Exécuter

YORAPUKA supprimer ensuite la macro (avec soin) en revenant une dernière fois avec Visualiser le Code.

Si tu désires conserver la macro tu peux, mais il faudra enregistrer ton classeur sous une autre extension :

Enregister sous... dans la boite de dialogue il faudra choisir Type : Classeur prenant en charge les macros (*.xlsm)

A+

Roger

Merci Galopin01.

Je vais essayer cela ce soir et je vous tiens au courant.

Encore merci pour votre diligence.

Cordialement

Norbert

-- Jeudi 11 Août 2011, 17h48 --

Re bonjour Galopin01.

Je n'ai pas pu attendre ce soir pour tester votre macro. Une question toutefois. Mes colonnes ne sont pas des nombres mais des lettres. Dans votre macro j'indique la 1ère et la dernière colonne avec des lettres ou faut-il que je modifie les paramètres de mon classeur ?

Cordialement

Norbert

-- Jeudi 11 Août 2011, 18h26 --

Merci a tous et plus particulièrement à galopin01.

Vous m'avez permis de gagner des heures de travail répétitif.

Encore un grand merci.

Cordialement

Norbert

Non tu ne modifies rien.

Si tu n'as que peu de colonnes, tu les comptes de tête... Si tu as vraiment beaucoup de colonnes tu vas dans cette dernière colonne (ou la suivante) et tu tapes =colonne() et ça te donnera le numéro de cette colonne.

C'est ce N° que tu reporteras dans la macro.

(ensuite ne pas oublier d'effacer la formule)

A+

Rechercher des sujets similaires à "tri ligne tableau"