Triage automatique sur excel

Résolu/Fermé
Phiphi - 19 oct. 2011 à 22:13
 Phiphi - 23 oct. 2011 à 00:01
Bonjour,

Je souhaiterais créer un tableau dans lequel le tri s'effectue automatiquement à chaque fois que j'entre une nouvelle valeur dans ce dernier.

Actuellement, j'effectue un tri manuel et je n'arrive pas à trouver la formule ou la macro correspondante. J'ai essayé de créer une macro, mais étant débutant, je n'ai pas compris la méthode ni la façon de faire.

Un petit coup de main n'est pas de refus.

Merci.

Windows 7 / excel 2010
A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
20 oct. 2011 à 10:09
Bonjour,

Un bon point de départ pour une macro :
mettre en route l'enregistreur de macro.
Ensuite élaguer le code des lignes inutiles et le modifier pour le rendre plus polyvalent.
Mais si tu tries immédiatement, plus moyen de contrôler sa saisie, mieux vaut un bouton et/ou un raccourci clavier pour la lancer...
eric
0
Bonjour,

je te remercie pour ta réponse, mais n'étant pas assez doué dans ce domaine, les erreurs s'enchainent sur l'établissement des macros. C'est une fonction que je ne connais pas du tout en utilisation ni en création. J'ai mis en ligne le fichier tableau sur lequel je travaille "Classement 2011 version INTERNET". comme tu pourras le constater, je souhaiterais que le tableau récapitulatif soit classé du 1er au dernier automatiquement. dans ce tableau, des formules sur le détail ordonne de soustraire certaines rencontres pour égaliser et dépénaliser certains participants ne pouvant être présent le jour de cette rencontre. Actuellement, je fais un copier collé des valeurs et manuellement je demande de trier par ordre du plus grand score au plus petit. Imagine que j'ai à faire cette opération sur les quatorze autres catégories. cela entraine par ma distraction certaines erreurs.
En espérant avoir un bon coup de main ou une explication pas à pas de la création et de la mise en place d'une macro ou d'une formule me permettant de faire automatiquement cette étape.

Merci de vos réponses nombreuses.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
20 oct. 2011 à 13:38
J'ai mis en ligne le fichier tableau
et le lien ?
0
Bonsoir,

Mais bien sûr!

http://www.cijoint.fr/cjlink.php?file=cj201110/cij5bvPZrJ.xlsx
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
20 oct. 2011 à 22:12
Tu ne dis même pas comment tu procèdes manuellement...
Je laisse à celui qui a une boule de cristal.
eric
0
Je fais un copier collé du tableau des valeurs et j'utilise la fonction trie personnalisé en fonction de la colonne de mon choix. Je recherche à automatiser cette fonction si cela est possible.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
20 oct. 2011 à 22:54
Tu ne fais aucun effort, j'abandonne
0
Désolé, je n'ai pas compris ta question
0
Manuellement, je copie les valeurs du tableau sur une nouvelle feuille puis j'utilise la fonction trier sur la colonne du total retenu par ordre du plus grand au plus petit.
Maintenant, je souhaiterais ne plus avoir à faire cette manipulation pour quelle se fasse automatiquement.
0
je viens de mettre en ligne le fichier modifié avec la nouvelle feuille donnant le résultat final que je souhaiterais faire automatiquement.
Voici le lien:
http://www.cijoint.fr/cjlink.php?file=cj201110/cij87PYEin.xlsx
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
21 oct. 2011 à 00:22
essaie avec ça dans un module :
Sub Trier()
    Sheets("Classement Général ").Copy Before:=Sheets(Sheets("Classement Général ").Index + 1)
    Application.ScreenUpdating = False
    Range("A3:BQ53").Copy
    [A3].PasteSpecial Paste:=xlPasteValues ', Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("Classement Général  (2)").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Général  (2)").Sort.SortFields.Add Key _
        :=Range("BQ4:BQ53"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A3:BQ53")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    [A3].Select
    Application.ScreenUpdating = True
End Sub


eric
0