Tri automatique sur Excel
Résolu/Fermé
A voir également:
- Tri automatique excel sans macro
- Tri automatique excel - Meilleures réponses
- Trier automatiquement excel - Meilleures réponses
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Tri excel - Guide
- Formule excel - Guide
- Macro word - Guide
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
17 mars 2010 à 21:55
bonjour
Il suffit de mettre le tri dans la macro événementielle de change.
Il suffit de mettre le tri dans la macro événementielle de change.
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
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é.
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é.
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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.
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.
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
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
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
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
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.
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.