Tri automatique sur Excel

Résolu/Fermé
Julien - 24 janv. 2005 à 21:56
 Talha - 3 mai 2013 à 18:27
Bonjour,

J'ai un tableau sous excel dont les données sont alimentée par des formules.

J'aimerais savoir s'il est possible que le tri des des lignes soit réalisé automatiquement à la modification d'une valeur sans avoir à passer par Données/trier...

Merci.
A voir également:

27 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 mars 2010 à 21:55
bonjour

Il suffit de mettre le tri dans la macro événementielle de change.
0
JE ne vois pas ce que tu veux dire peux tu me donner le code ? je suis 0 en vb
merci
0
auriez_vous une piste?
je bugge:(
0
azzou92 > azzou92
17 mars 2010 à 22:15
y a des pro pour me donner un coup de main
!!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
17 mars 2010 à 22:28
bonjour

Tu te mets en enregistrement de macro, tu effectues ton tri, tu arrêtes l'enregistrement et tu transfères le code dans la macro événementielle worksheet_change et le tour est joué.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 janv. 2005 à 00:00
bonjour

C'est tout à fait possible avec une macro VBA.

Le tableau que tu veux trier, tu le nommes "infos"

la cellule titre de la 1ère colonne de tri est nommée "col1"

la cellule titre de la 2ème colonne de tri est nommée "col2"

la cellule titre de la 3ème colonne de tri est nommée "col3"

tous ces noms sont des exemples utilisés dans la macro bien sûr !


tu mets cette macro dans la feuille concernée et
dès qu'une cellule change de valeur le tableau est trié.

Private Sub Worksheet_Change(ByVal adrcel As Range)
Range("infos").Sort Key1:=Range("col1"), Order1:=xlAscending, _
Key2:=Range("col2") , Order2:=xlAscending, _
Key3:=Range("col3"), Order3:=xlAscending, _
Header:= xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End Sub

il est bien évident que c'est un exemple qui fonctionne
mais il peut être amélioré en vérifiant que la cellule modifiée
fait bien partie du tableau par exemple.


toujours zen
-1
Merci bcp! Ca marche.

Faudra que j'aprenne à utiliser les macros un jour...
0
Je fais un test
0
Julien c'est même pas sorcier en plus. Va pas croire qu'il faut apprendre toutes les formules. Il suffit de générer le code automatiquement grâce à l'enregistreur de macros, et de potasser un peu sur le code généré = ) Bon courage.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
C top merci
-1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
10 mai 2009 à 20:50
bonjour

je suis loin d'avoir pigé le processus

Ce n'est pas forcément évident mais le principe est simple en mettant un module de tri paramétré au niveau d'excel et en interceptant l'événement d'une saisie dans une cellule pour le lancer depuis n'importe quel classeur.
-1
bremic83 Messages postés 34 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 29 mars 2010 4
11 mai 2009 à 21:58
Bonsoir,
Désolé de te remettre à contribution,mais,je nage encore !
Je te rappelle que je suis un néophyte en informatique,je n'ai pas encore six mois de pratique,et tu sais,les vieux,ça ne pige pas vite,aussi,je viens te demander de me détailler la marche à suivre après l'enregistrement
du fichier tri.xla,car,je n'ai pas pu continuer,n'ayant pas trouvé :C:\Documents and Setting\ et la suite .
En plus, je voudrais savoir,s'il y a plusieurs tri à effectuer sur la même feuille,je dois,dans la macro événementielle,mettre plusieurs fois ,( autant de fois qu'il y a de tris ) les trois commandes ,1, "G", "D ",en changeant à chaque le n° de ligne et colonne ?
Encore merçi,et à bientôt.

Bremic83
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 mai 2009 à 21:30
bonjour

Tu es probablement avec 2007 et donc avec le bouton Office en haut à gauche, il faut choisir enregistrer sous puis choisir "classeur excel prenant en charge les macros" et tu auras un fichier .xlsm

Dès que tu introduis les macros il faut cette extension.
-1