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

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

    Mais bien sûr!

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