[VBA] Trier un tableau excel avec vba [Fermé]

Signaler
Messages postés
13
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2010
-
 titounette -
Bonjour à tous j'aimerai automatiser le tri par un code VBA et pas le faire manuellement

exemple : j'ai un tableau excel avec 3 colonnes et j'aimerai trier le tableau selon la colonne B tout en gardant les lignes
c'est à direpar exemple

rouge tomate légume
vert raisin fruit
noir araignée animal

devienne


noir araignée animal
vert raisin fruit
rouge tomate légume

Merci beaucoup de votres précieuses aides

2 réponses

Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
58
Bonjour tzehani,

Voici une macro toute simple, à lancer après avoir sélectionné la zone à trier :

Sub TriPerso()

    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub


ou la même qui sélectionne une zone fixe :

Sub TriPerso()

    Range("A1:C3").Select
    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

End Sub


Astuce : il est très facile d'obtenir des actions aussi simples en lançant l'enregistreur de macros.

Cordialement.
8
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2010

Merci beaucoup pour le conseil, je prendrai ta deuxieme proposition cepeandant j'an ai besoin de A1:ANi et c'est cette écriture que je n'arrive pas à coder, voici mon code :

Sub TriPerso()

Do While Range("A" & i) <> 0
i = i + 1
Loop

Range("A1:AN & i").Select =====> Problème pour l'expression AN&i


Selection.Sort Key1:=Range("E1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


Merci encore de ton attention
Messages postés
143
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
74 >
Messages postés
13
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2010

Bonjour,

Tu as fait une erreur de frappe : Range("A1:AN & i") => Range("A1:AN" & i) ou Range("A1:A" & i)
bonjour

mon probleme est similaire à celui ci sauf que je ne sais po comment faire étant donné que j'exporte tjs des nouvelles données dans les meme colonnes. j'aurais voulu k'en exécutant la macro(que je n'ai po encore créée et dont votre aide sera la bienvenue) le tableau soit trié de la meme manière décrite ds les discussions précedentes

Merci