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

Messages postés
13
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 octobre 2010
- - Dernière réponse :  titounette - 7 juil. 2008 à 16:15
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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
147
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
56
8
Merci
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.

Dire « Merci » 8

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

CCM 63755 internautes nous ont dit merci ce mois-ci

tzehani
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
Sir_DEC
Messages postés
144
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
12 mai 2012
72 > tzehani
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)
1
Merci
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