Triage automatique sur excel

Résolu
Phiphi -  
 Phiphi -
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

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Phiphi
 
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   Statut Contributeur Dernière intervention   7 276
 
J'ai mis en ligne le fichier tableau
et le lien ?
0
Phiphi
 
Bonsoir,

Mais bien sûr!

http://www.cijoint.fr/cjlink.php?file=cj201110/cij5bvPZrJ.xlsx
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Tu ne dis même pas comment tu procèdes manuellement...
Je laisse à celui qui a une boule de cristal.
eric
0
Phiphi
 
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   Statut Contributeur Dernière intervention   7 276
 
Tu ne fais aucun effort, j'abandonne
0
Phiphi
 
Désolé, je n'ai pas compris ta question
0
Phiphi
 
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
Phiphi
 
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   Statut Contributeur Dernière intervention   7 276
 
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