Tri automatique macro excel

Résolu
Bonjour,

S.V.P, jetez un coup d'oeil à mes données et dites moi s'il est possible d'avoir un tri automatique sans avoir à cliquer sur une cellule.

En feuille 1 (Notes) :
- Mon tableau «Examen » : N° d'élève (col1), Elèves (col2), Examen1 (col3), Examen2 (col4) et Examen3 (col5).

En feuille 2 (Rang) :
- Mon tableau « Classement » : Rang (col1 et avec formules simples allant de 1 à 21), Élèves (col2) et Moyen (col3 avec formules pour calculer les moyens à partir des Examens, pour élève1 par exemple (Notes!C2+2*Notes!D2+2*Notes!E2)/5).

Mon problème : J'ai utilisé un code trouvé sur ce site (merci à m@rina et à Pixou) et qui fonctionne bien avec un tableau simple et qui permet d'effectuer un tri automatique.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("C:C")) Is Nothing Then
Range("Classement").Sort Key1:=Range("C1"), Order1:=xlDescending, Header:= xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End If

End Sub

Mais, Lorsque je change les notes, les moyens changent et même les rangs sans que le tri s'effectue.
Il me faut retourner à la feuille 2 et cliquer une cellule pour que le tri s'effectue de nouveau.
Y a-t-il une possibilité pour que le tri s'effectue automatiquement sans cliquer une cellule ??

Merci d'avance de votre aide.

4 réponses

  1. Il faut qu'un (ou plusieurs) événement(s) déclenche(nt) le tri.
    Actuellement c'est le changement de la sélection (et seulement dans la colonne C) dans la feuille qui contient le code, mais il est possible, en mettant le tri dans un module standard, d'utiliser n'importe quel(s) autre(s) évènement(s)
    1
    1. Merci Patrice de votre aide.
      Mais, comment intégrer ce(s) événement(s) dans le code?
      C'est là mon problème.
      Merci tout de même.
      0
    2. C'est l'inverse, il faut mettre ce code dans un module et l'appeler depuis les différents évènements.
      0
    3. Bonjour,
      j'ai essayé mais pas pu le faire.
      j'ai enfin adopté un bouton affecté à une macro (qui se trouve en feuille 1(Notes)) et qui me permet en cliquant de passer à la feuille 2 (Rang) et de trier le tableau (au même temps).
      et ça marche.
      cela ressemble à un lien hypertexte qui permet de trier.
      0
    4. La méthode est simple:

      En feuille 1(notes) :
      - Développeur.
      - Insérer un Bouton (contrôle de formulaire).
      - Enregistrer une Macro : Nom, sans touche de raccourci, ce classeur, description, ensuite OK.
      - Sélectionner la Feuille (Rang) 2.
      - Sélectionner le tableau à partir de la colonne qui sera triée.
      - Sélectionner Accueil ensuite Trier et Filtrer et du plus petit au plus grand (ou l'inverse selon le besoin).
      - Arrêter l'enregistrement.
      - Revenir à la feuille 1.
      - Sélectionner le Bouton (clic droit.)
      - Affecter une macro (celle créée)
      - Ensuite OK.
      - Tester votre Bouton : vous devez être sur la feuille 2 triée.
      0
  2. Contributeur
    Bonjour à tous,

    excusez l'incruste

    ci joint une maquette de classement "à la volée" sans macro
    les étudiants doivent être notés dans les trois examens pour obtenir un classement (facilement modifiable)

    https://www.cjoint.com/?3HCjsAuFU02
    Michel
    0
    1. Bonjour Michel,

      C'est effectivement bien plus logique d'utiliser les fonctions existantes d'Excel plutôt que de développer une macro qui fonctionne plus ou moins bien (et trop souvent moins bien !).

      Excellent exemple, restons simple chaque fois que possible....

      Patrice
      0
    2. Contributeur
      Merci, Patrice
      0
  3. Bonjour Michel,
    merci pour l'aide,
    je vais essayer cette maquette.
    0
    1. Bonjour Michel,
      merci, vous m'avez facilité les choses.
      0