Tri automatique lorsqu'une valeur est changée

BabyDolphin

XLDnaute Junior
Bonjour,

Je voudrais savoir si il existe un moyen permettant de trier un tableau (tri décroissant en fonction d'une colonne), à chaque fois qu'une valeur dans celui-ci est modifiée.

Par exemple :

Nous avons pour un classement de foot :

1 - Lyon 65
2 - Marseille 63
3 - Bordeaux 61
...

Si en entrant une victoire de marseille, il prenne 3 pts et passe a 66.
Je voudrais que sans passer par le bounton tri, le classement change tout seul.

Est ce possible est si oui comment?

Merci d'avance
 

dixit

XLDnaute Impliqué
Re : Tri automatique lorsqu'une valeur est changée

bonjour,
voici une proposition avec macro (taillée à la serpe pour faire rapide)
dire si cela convient
bye
[edit] j'ai retiré le fichier joint ; je dois le revoir
 
Dernière édition:

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

Oups, je crois que j'ai parlé trop vite.

J'ai essayé d'incorporer vos maccros à mon fichier excel pour mes classements mais cela ne fonctionne pas.
J'ai du me planter quelque part.

Je vous le joints si vous pouvez m'aider.

Merci
 

Pièces jointes

  • LIVE2009.zip
    31.3 KB · Affichages: 54
  • LIVE2009.zip
    31.3 KB · Affichages: 51
  • LIVE2009.zip
    31.3 KB · Affichages: 52

dixit

XLDnaute Impliqué
Re : Tri automatique lorsqu'une valeur est changée

bonjour,
quelques précisions au sujet de Target.Column = 4
- la macro est attachée à la feuille GENERAL donc traite les modifications de cellules de la colonne 4 de cette feuille
- la colonne 4 de cette feuille est la colonne des Noms et la macro fonctionne
donc à revoir
ps : la question initale portait sur un classement de foot il me semble ; le dernier fichier joint n'a rien à voir avec le foot : erreur ?
bye
 

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

Effectivement mon exemple porté sur un classement de foot. Mais c'était juste pour exemple. Je pense que pour n'importe qu'elle classement cela doit fonctionner.

Je souhaite faire le classement par rapport aux poinys dans mon tableau donc je dois prendre en compte la colonne 5 si j'ai bien compris et je note cela :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5Then

Range("D2:L100.Sort key1:=Columns("E") order1:=xlDescending ' ***** à modifier selon besoin

End If
End Sub

Peux tu me dire si cela est correct.

Je vois qu'avec cette formule, le classement évolue à chaque fois que l'on un nom et un certain nombre de points.
Cela fonctionne t'il si seulement les points change?
 

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

J'ai modifié comme indiqué dans le post si dessus est cela fonctionne.

Maintenant la feuille Général et en relation avec une feuille manche, où sont inscrits les résultats.
Si je rentre un résultat d'un joueurs déjà dans le classement son résultat s'additionnera aux résultats précédents.

Dans ce cas de figure, je me suis apperçu que le classement n'évolué pas.

Faut il modifier quelque chose, pour que lorsque les points d'un joueurs changent, sa position dans le classement change également.

Si vous avez besoin je peux vous envoyer mon fichier excel complet, mais il dépassera de la taille minimale pour être posté sur ce forum.
 
Dernière édition:

dixit

XLDnaute Impliqué
Re : Tri automatique lorsqu'une valeur est changée

re
la routine de traitement Worksheet_Change(ByVal Target as Range) traite les changements de valeur effectués par l'utilisateur.
Target désigne la cellule qui a subi le changement :
Target.address pour l'adresse sous la forme "$A$1"
Target.column pour la colonne
Target.row pour la ligne
donc il faut que la macro se trouve "attachée" à la feuille où sont effectués les changements pour pouvoir les tester.
voici un nouvel exemple joint avec macro en feuil2 et tri sur feuil1.
bye
ps : attention à la plage de tri pour bien prendre en compte toutes les cellules concernées
 

Pièces jointes

  • ED114258 BabyDolphin target version2.xls
    44.5 KB · Affichages: 125

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

Je penses pas pouvoir utiliser de la sorte avec mon fichier excel. Mais je vais essayer.

Puis je t'envoyer mon fichier excel complet sur une adresse de ton choix pour que tu puisses voir comment tout est disposé?
 

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

Je vous ai joint un nous fichier excel comprenant les deux feuilles en relation à savoir GENERAL et MANCHES.

J'ai essayé d'y insérer la formule mais cela ne fonctionne pas je dois faire une erreur.

Pouvez vous m'aider?

Merci
 

Pièces jointes

  • LIVE2009-MAJ18-02-09.zip
    38.4 KB · Affichages: 36

dixit

XLDnaute Impliqué
Re : Tri automatique lorsqu'une valeur est changée

re
entre deux, j'ai préparé ce nouveau fichier sur la base du fichier LIVE2009 précédant le plus récent.
à tester sur ce fichier pour éviter toute perturbation.
la macro est en relation avec la feuille MANCHES
j'ai crû comprendre que les points résultaient des valeurs entrées en colonne A de la feuille MANCHES, donc seule cette colonne est traitée dans Target.
bye
 

Pièces jointes

  • ED114258 - LIVE2009 version2.zip
    32.4 KB · Affichages: 63

BabyDolphin

XLDnaute Junior
Re : Tri automatique lorsqu'une valeur est changée

Alors en fait la colonne A dans le section manche permet de calculer les points de chaque joueur durant la manche.

Ensuite les points obtenus de chaque manche sont additionés puis inscrit dans la feuille générale.

Et ce que je souhaite c'est en ajoutant une nouvelle manche, les scores de chaque joueurs se mettent à jour dans la feuille général.

Et que le classement général se mette en forme automatiquement.

Pour le moment j'ai réussi à ce que les scores s'additionne mais se sont la mise à jour du classement qui ne se fait pas.
 

Statistiques des forums

Discussions
312 499
Messages
2 089 002
Membres
104 002
dernier inscrit
SkrauzTTV