Tri automatique sur Excel
Résolu
Julien
-
Talha -
Talha -
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.
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.
27 réponses
- 1
- 2
Suivant
Résumé de la discussion
Le besoin consiste à trier automatiquement les lignes d'un tableau Excel alimenté par des formules lors de chaque modification d'une valeur, sans passer par le menu Données, Trier. Plusieurs réponses suggèrent d'utiliser une macro VBA déclenchée sur changement de cellule, par exemple via Worksheet_Change, et d'appeler une routine de tri telle que Run('trier', 1, 'E','D'), à insérer dans la feuille. D'autres échanges précisent où placer la macro (dans le module de la feuille plutôt que dans un module standard), et comment ajuster les colonnes et les en-têtes, ainsi que la gestion des rangées d'en-tête.
-
Bonjour,je vois dans ce forum,la solution à un problème identique à celui que je cherche à résoudre,mais la solution proposée,je n'arrive pas à la mettre en application !
Il s'agit de la macro proposée par gbinforme ,le mardi 25 janvier 2005,figurant dans le forum "tri automatique sur Excel"
Pourrait-on me donner la marche à suivre pour appliquer cette macro sur Excel 2007 ?
Merçi à l'âme charitable qui voudra bien se pencher sur mon problème. -
bonjour bremic83,
Une macro "automatique" de tri doit être adaptée à ton classeur :
- que veux-tu trier ? une base de données structurée avec les rubriques en ligne 1 ?
- une partie de feuille de classeur ?
- sur combien de rubriques veux-tu trier ?
- as-tu déjà utilisé des macros ?-
Bonjour,gbinforme
Voiçi le problème:je veux trier les deux dernières colonnes d'un tableau.
L'avant-dernière totalise les sommes des précédentes,dont les données varient chaque jour.
La dernière contient les noms des lignes,et c'est cette liste de noms que je trie en ordre décroissant,selon les performances.
Manuellement,c'est facile,mais comme j'ai plusieurs tableaux à trier,celà devient vite fastidieux !
Je désire donc automatiser ce tri.
Je voudrais une méthode applicable à tous mes tableaux,qu'il s'agisse de macro ou de tout autre procédé.
Non,je n'ai jamais utilisé de macro,je débute en informatique.
Merçi de t'interesser à ma question,
A bientôt -
Voici un aperçu d'un tableau,en complément de mon message précédent,celà facilitera peut-être la compréhension du problème.
A plus,et encore merçi.
N J1 J2 J3 J4 J5 J6 Tot Clt
A 31 49 39 20 29 21 189 B
B 27 56 45 26 35 32 221 F
C 32 24 50 40 21 17 184 K
D 54 44 25 33 15 26 197 D
E 23 32 11 12 64 24 166 G
F 22 38 19 10 58 69 216 H
G 23 18 29 57 47 22 196 A
H 43 24 33 14 25 53 192 C
K 17 18 55 46 27 36 199 E
L 31 12 13 51 18 36 161 L
-
-
bonjour
je n'ai pas pu continuer,n'ayant pas trouvé :C:\Documents and Setting\ et la suite .
Tu es sous XP ou Vista ?
en changeant à chaque le n° de ligne
Le numéro de ligne doit rester le même car il n'est là que pour permettre de sauter les premières lignes si tu as un en-tête qui ne doit pas bouger et que le tableau à trier commence en ligne 8 par exemple. Tu peux aussi trier à partir de la colonne D (4) si tu précises le paramètre qui est implicitement 1 (A) :
retour = Run("trier", 1, "H", "D", 4)
Si par exemple tu as :
colonne A nom
colonne B prénom
colonne C age
Pour trier sur age , nom , prénom tu vas mettre les 3 lignes dans l'ordre inverse :retour = Run("trier", 1, "B", "A") retour = Run("trier", 1, "A", "A") retour = Run("trier", 1, "C", "D")
Ainsi ton tableau est trié colonne C puis A puis B -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bonjour
La dernière contient les noms des lignes,et c'est cette liste de noms que je trie en ordre décroissant,selon les performances
Je suppose que le tri décroissant se fait en fonction du total (colonne précédente) et non sur le nom car celui-ci ne doit pas varier ? -
bonjour
Je désire donc automatiser ce tri. Je voudrais une méthode applicable à tous mes tableaux
Pour cela je te propose une macro complémentaire de tri paramétrable pour n'importe quel tableau.
http://www.cijoint.fr/cjlink.php?file=cj200905/cijJzXhlw8.zip
Tu décompresses le fichier tri.xla dans ton dossier
C:\Documents and Settings\mon_nom\Application Data\Microsoft\Macros complémentaires
Ensuite tu lances excel et dans le menu outils / macros complémentaires, tu coches "tri" et ta macro de tri est installée.
Dans tous les classeurs que tu veux trier, tu copies dans la feuille concernée la macro événementielle suivante (mode d'emploi éventuel)Private Sub Worksheet_Change(ByVal Target As Range) Dim retour retour = Run("trier", 1, "G", "D") End Sub
En remplaçant éventuellement :
- 1 par le numéro de ligne à partir duquel tu veux trier
- G par la colonne de tri
- D pour tri descendant par A pour tri Ascendant.
Dès que tu modifieras ton classeur, ton tableau concerné sera trié.-
Merci d'avoir répondu aussi vite.
Je vais essayer d'assimiler le potage,car je suis loin d'avoir pigé le processus.
Je vais me faire expliquer certains termes que je ne comprends pas et essayer.
Je te ferai savoir si j'y suis arrivé ou non,car,pour l'instant,Laure Manaudou et Alain Bernard sont loin de nager autant que moi !
Encore merçi, et à plus
Bremic83 -
-
-
bonjour
Dans ce cas il faut regarder dans c:\users\ etc
mais je n'ai pas vista.-
Bonjour,
Je suis coincé pour ouvrir mon dossier "Documents and Settings",que j'ai enfin trouvé après bien des recherches,
lorsque je clique sur ouvrir,apparait un message d'erreur,:"Accès non autorisé",et je ne sais pas comment débloquer cette situation !
Connais-tu le problème,et si oui,as-tu une solution ?
-
-
bonjour
a priori il faut libérer les fichiers systèmes :
Démarrer/Ordinateur et avec la touche Alt. afficher la barre d’outils en haut de la fenêtre
Menu Outils/Options des dossiers et onglet Affichage
décoches les cases
- Masquer les extensions des fichiers dont le type est connu
- Masquer les fichiers protégés du système d’exploitation -
Bravo tu as fait vite.
J'avais trouvé cette solution sur le forum,je l'ai essayée sans résultat,à chaque fois que je veux ouvrir le dossier,je fais apparaitre la même fenêtre " dossier indisponible accès refusé "
J'ai voulu en essayer une autre:" INPLACE $.~dossier TR " mais je n'arrive pas à trouver le mode d'emploi !
D'ailleurs,je ne sais pas si elle serait valable dans mon cas .
La galère continue .
Comment fais tu pour rester toujours zen ?
A plus !
Bremic83 -
bonjour
As-tu regardé ceci :
http://www.commentcamarche.net/faq/sujet 6604 vista s approprier un fichier dont l acces est refuse-
Bonjour
Bravo,ça marche l'appropriation du dossier dont l'accès était refusé,merçi !
Un autre problème surgit: J'ai enregistré sur tes conseils,la macro tri.xla,mais maintenant,que je voudrais la transférer dans le dossier "Documents and Settings",une fenêtre d'erreur apparait qui me dit :"Windown ne trouve pas le dossier X vérifiez et recommencez "
J'ai déjà rencontré le même cas pour transférer un dossier dans excel et je n'ai toujours pas la solution.
En as-tu une ?
-
-
bonjour
je voudrais la transférer dans le dossier "Documents and Settings"
Attention il me semble que sur Vista ce répertoire est remplacé par "users"
Ensuite tu devrais trouver "Application Data\Microsoft\Macros complémentaires"-
Bonjour,
la galère continue,je n'ai toujours pas compris pourquoi "Windows ne trouve pas mes dossiers "
J'ai essayé de télécharger www.cijoint.fr etc...directement dans le dossier concerné,ainsi que la macro
évennementielle que tu m'as indiquée,mais quand je veux exécuter: Message d'erreur suivant:
"paramètre de tri incorrect".
J'ai inversé le sens du tri,et obtenu la même réponse !
J'ai demandé autour de moi de l'aide,sans succès,car,dès que l'on parle de MACRO,c'est comme si on
semait la panique dans la basse-cour !
Je suis peut-être trop ambitieux pour un débutant ,je me tourne à nouveau vers toi, as tu des réponses ?
Encore merçi.
Bremic83
-
-
bonjour
quand je veux exécuter: Message d'erreur suivant:
"paramètre de tri incorrect".
Tu n'as pas dû lire totalement le message d'erreur car il manque le mot important du message.
Si tu en es arrivé là, c'est très bien car tu as installé ta macro complémentaire et il ne manque qu'une correction aux paramètres : ce devrait être simple.
Si tu pouvais faire un copier/coller de la macro de ton classeur, je pourrais d'aider plus facilement.
Je suis peut-être trop ambitieux pour un débutant
Sûrement pas car si tu n'avais pas aussi été un peu ambitieux pour marcher tu serais toujours assis : il faut bien se lancer et utiliser les outils disponibles surtout lorsqu'ils facilitent la tache. -
bonjour
Dans ton paramètre sens de tri, il y a un espace avant le D et comme la macro attend A ou D...
C'est pas méchant, cela va fonctionner mais il faudrait enlever l'apostrophe devant "private". -
bonjour
Dans la feuille VBA que tu veux trier, tu ne dois avoir que ceci :Private Sub Worksheet_Change(ByVal Target As Range) Dim retour retour = Run("trier", 1, "E", "D") End Sub
J'ai l'impression que tu as mis ton code dans un module au milieu d'une autre macro.-
-
Bonsoir,
Je dois avoir un don pour faire apparaitre les fenêtres d'erreur,après avoir tout repris à zéro,j'ai voulu faire une pause,et enregistrer ce que j'avais déjà préparé.
Voiçi la réponse:
"Les fonctions suivantes ne peuvent pas être enregistrées dans les classeurs sans macro
.Projet V B
et je suis invité à cliquer sur "non"et sélectionner un type de fichier prenant en compte les macros,dans la liste type de fichiers"
Je n'ai aucune idée de ce que celà veut dire !
Peux tu m'éclairer ?
(Je n'ose plus toucher à ce fichier,de peur de tout effacer de mon travail de la journée !)
Bremic83
-
-
-
Bonjour,
Je reviens sur le tri automatique dans Excel 2007.
Cela fonctionne bien, toutefois le problème que je rencontre est que je ne veux trier une copie de mon tableau d'origine. Mon tableau à trier contient donc les références aux cellules où sont saisies les données, et là la macro ne fonctionne plus.
Exemple :
Valeurs saisies en A1:A30
Cellules G1:G30 égale la plage A1:30 et je veux trier la plage G1:G30
La seule solution que j'entrevois serait de rajouter au début de cette macro, un copier/coller des valeurs de ma colonne A en colonne G, mais je ne sais pas le faire en VBA.
Après il y a peut-être une meilleure solution ? -
bonjour
Tu ne peux pas trier des cellules qui font références à une autre plage mais tu peux effectivement faire une copie puis ensuite tu peux trier sans souci et tu fait la copie très simplement avec ce code :Range("A1:A30").Copy Range("G1") -
Merci beaucoup, toutefois si je peux profiter de tes compétences, quel serait le code à mettre dans ma feuille VBA pour que la copie ne se fasse qu'au changement d'onglet car je l'ai mis dans la macro qui retrie ma liste à chaque modification de cellule, mais du coup le programme tourne en rond ?
-
bonjour
Il faut le mettre dans worksheet_activate la macro événementielle. -
BONSOIR
j'ai besoin d'une aide sur un tri automatique c urgent
alors je vous explique
j'ai 3 colonnes sur mon tableau
col1: nom
col2: prenom
col3: date et heure de naissance jj/Mm/aaaa hh:mm
je veux trier mes lignes selon la col3 par ordre croissant je sais y ala commande tri mais je veux qu'a chaque fois que j'insere une nouvelle ligne il se reactualise automatiquement
qq1 a une piste je bloque merci à vous
- 1
- 2
Suivant