> Tous les forums > Forum Bureautique
 excel 2007 classement selon nombre de pointsSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
flac
  Posté le 29/11/2010 @ 10:17 
Aller en bas de la page 
Petite astucienne

Bonjour,

petite question d'ordre technique sur excel, je souhaite faire un classement automatique selon le nombre de points d'une équipe.

pour cela j'ai fait un tableau avec des colonnes (nom du club, matchs joués, nombre de forfaits , nombre de but et enfin points) les lignes correspondent aux équipes ligne 1 equipe X, ligne 2 équipe Y....

Je souhaite que les lignes se classent automatiquement selon le nombre de points ordre décroissant à savoir 1ère équipe celle qui a obtenue le + de points ....

je vous remercie de prendre le temps de m'expliquer la démarche à suivre.

Bonne journée

Flac

Publicité
ferrand
 Posté le 29/11/2010 à 13:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Trier ton tableau sur la colonne points en ordre décroissant est très rapide et le mettra dans l'ordre voulu chaque fois que tu le souhaite.

flac
 Posté le 30/11/2010 à 08:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

effectivement, le problème est que le nom des équipes ne suit pas (les lignes) du coup les équipes ne se retrouvent pas avec leurs points. Il me semble qu'il faudrait une macro ou un formule pour déplacer les lignes en fonction d'un critère dans une colonne

voici le tableau :

Nom des équipes nbre de buts nbre de matchs nbre de forfait points acquis

1er X 15 8 0 2

2ND y 30 8 0 3

...

flac
 Posté le 30/11/2010 à 08:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

désolée la mise en page ne donne rien

NOM CLUB BUTS MATCHS Ffaits POINTS
1 chauvé 12 3 0 15
2 st brevin 10 3 1 8
3 corsept 14 3 0 12
4 paimboeuf 8 3 0 5
5

NOM CLUB BUTS MATCHS Ffaits POINTS

1 chauvé 12 3 0 15

2 st brevin 10 3 1 8

3 corsept 14 3 0 12

4 paimboeuf 8 3 0 5

5

NOM CLUB BUTS MATCHS Ffaits POINTS

1 chauvé 12 3 0 15

2 st brevin 10 3 1 8

3 corsept 14 3 0 12

4 paimboeuf 8 3 0 5

5

ferrand
 Posté le 30/11/2010 à 08:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

flac a écrit :

effectivement, le problème est que le nom des équipes ne suit pas (les lignes) du coup les équipes ne se retrouvent pas avec leurs points.

Lorsque tu tries un tableau selon un critère, par exemple le nb de points, dans la boître de dialogue Trier, tu indiques la colonne correspondant à ce critère, l'ordre de tri (ascendant ou descendant), si la première ligne du tableau est une ligne de titres (auquel cas elle ne sera pas touchée), et quand tu valides, les lignes du tableau sont remises en ordre selon les paramètres que tu auras indiqués. Ton curseur doit évidemment être positionné dans le tableau à trier lorsque tu lances la commande : Données > Trier (s'il n'y a pas de ligne ou colonne vide, le tableau sera reconnu par Excel, sinon il te faudra le sélectionner entièrement).

Avant d'envisager éventuellement de faire la même opération au moyen d'une macro, apprend à la réaliser manuellement sans erreur.

cebe
 Posté le 30/11/2010 à 08:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Ton problème ressemble beaucoup à celui que j'avais : classer des équipes d'un marathon de belote d'abord par nombre de parties gagnées, par nombre de points cédés et par nombre de points réalisés, sachant que le nombre d'équipe peut varier.

Dans ma feuille de résultats, que j'appelle FINAL, je fais agir la macro ci-dessous (attention, c'est pour excel 2010, elle devrait fonctionner avec excel 2007, quant aux versions antérieurs, il y a une variante expliquée dans la macro ). En colonne A, le nom des équipes, en B, C et D les diverses valeurs. En colonne E j'ai ajouté : en E1 : 1, en E2 (et recopie au-dessous) suivantes : =SI(C2<>"";E1+1;"") pour effectuer le classement automatique (1er, 2e, 3e, etc.) :

Sub Resultat()
'Classement des résultats
'---------------------------------
' Sélection des cellules utilisées :
Sheets("FINAL").Select 'FINAL est le nom de ma feuille
Range("H1").Select 'Sélection de la cellule où j'ai placé le nombre de lignes, de joueurs, d'équipes...
valtest = InputBox("Donnez le nombre de joueurs " & " :", "Combien de joueurs ?", , 8800, 4800) 'Ouverture d'une

fenêtre pour donner ce nombre

For i = 1 To valtest 'Sélection des lignes et colonnes utilisées, depuis A1 jusqu'à la dernière équipe
Range("a1:d" & valtest).Select
Next i
'MsgBox "Le tirage au sort est en cours !" ' juste pour faire joli

'*************classement sur les trois colonnes début (pour excel 2010, 2007) :
'Première colonne tri décroissant
ActiveWorkbook.Worksheets("FINAL").Sort.SortFields.Add Key:=Range("B1:B" & valtest), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
'Deuxième colonne tri décroissant
ActiveWorkbook.Worksheets("FINAL").Sort.SortFields.Add Key:=Range("C1:C" & valtest), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
'Troisième colonne tri croissant
ActiveWorkbook.Worksheets("FINAL").Sort.SortFields.Add Key:=Range("D1:D" & valtest), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

'Rangement des valeurs
With ActiveWorkbook.Worksheets("FINAL").Sort
.SetRange Range("A1:D" & valtest)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'************Classement en trois colonnes fin pour excel 2010 2007.
'------------------------------Cette partie est pour excel version antérieure à 2007 !
'Classement en trois colonnes : remplace la partie ci-dessus avec les *** par ce qui est entre ------

Range("a1:d" & valtest).Select
ActiveWindow.SmallScroll Down:=0
Selection.Sort Key1:=Range("B1"), Order1:=xlDescending, Key2:=Range("C1") _
, Order2:=xlDescending, Key3:=Range("D1"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
'------------------------------

'Supprime les lignes dans l'option tri afin d'ouvrir ultérieurement ce fichier
ActiveWorkbook.Worksheets("FINAL").Sort.SortFields.Clear
With ActiveWorkbook.Worksheets("FINAL").Sort
.SetRange Range("A1:D" & valtest)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub

Bon tri,

flac
 Posté le 30/11/2010 à 09:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

pour être honnête je n'ai pas compris grand chose concernant la macro, le tri manuel a été réussi mais cela se fait que lorsque nous avons entré toutes les données.

Je vais tenter la macro ...

flac
 Posté le 30/11/2010 à 09:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

pour la macro trop complexe pour moi merci encore pour votre aide {#}

qmike549
 Posté le 30/11/2010 à 10:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

bonjour

La fonction Rang() d'excel devrait permettre d'obtenir le résultat souhaité

ferrand
 Posté le 30/11/2010 à 11:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

flac a écrit :

pour être honnête je n'ai pas compris grand chose concernant la macro, le tri manuel a été réussi mais cela se fait que lorsque nous avons entré toutes les données.

Si tu tries ton tableau manuellement avec succès, un grand pas est fait

Une macro ne fera rien d'autre que cela. Une macro devient intéressante si l'opération manuelle est longue et complexe. Pour un tri élémentaire de ce type, cela n'est pas vraiment le cas. Car la macro il faudra la lancer manuellement (soit directement: Outils>Macro..., soit par une combinaison de touches, soit par un bouton, ...).

On peut imaginer qu'elle s'exécute automatiquement, c'est d'ailleurs le terme que tu as utilisé dans ton 1er post. "Automatiquement", cela veut dire qu'elle va s'exécuter à un moment opportun parce que les conditions pour que le résultat du tri soit conforme à tes voeux sont réunies. Pour pouvoir réaliser une telle macro, qui va s'exécuter en fonction de la survenance d'un évènement, il faut d'abord que tu définisses quel est l'évènement adéquat et quelles conditions doivent être réunies pour le tri soit lancé, autrement dit dans la mesure où ton action sur le tableau consiste à mettre des données à jour, donc changer des valeurs dans les cellules qui le constituent, l'évènement qui semble adéquat est le changement de valeur d'une cellule dans la feuille, reste à définir à l'issue de quels changements (de quelles cellules) il serait opportun qu'un nouveau tri s'effectue. Je te laisse y réfléchir.

flac
 Posté le 01/12/2010 à 11:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

pour si peu d'équipes je ne pense pas qu'il soit nécessaire d'aller aussi loin car je n'ai pas ces compétences.

Je vais en rester au tri manuel que j'ai réussi à faire car très simple et je considère donc le sujet résolu.

MERCI BEAUCOUP

ferrand
 Posté le 01/12/2010 à 12:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonne continuation.

A une prochaine fois

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
217,23 €Disque dur externe Western Digital My Book 12 To USB 3.0 à 217,23 € livré
Valable jusqu'au 26 Mai

Amazon Allemagne propose actuellement le disque dur externe Western Digital My Book 12 To USB 3.0 à 210,76 € (avec la TVA ajustée). Comptez 6,47 € pour la livraison en France soit un total de 217,23 € livré alors qu'on le trouve ailleurs à partir de 270 €. Avec ses 12 To et sa connectique USB 3.0 compatible USB 2.0, vous aurez de quoi stocker vos backup, vos films et vos photos, etc.  A l'intérieur, vous trouverez un disque à hélium UltraStar DC HC 520 White (12 To, 5400 tr/min, 256 Mo cache, CMR -> source satdream.tech). Le disque peut être démonté et réutilisé dans un ordinateur, un NAS, etc. Une bonne affaire


> Voir l'offre
19,99 €Chargeur rapide USB-C Anker Nano II 30W à 19,99 €
Valable jusqu'au 27 Mai

Amazon propose le chargeur USB-C Anker Nano II 30W à 19,99 € au lieu de 24,99 €. Il est 70 % plus petit qu'un chargeur USB-C standard de 30 W et offre en même temps de la même puissance de charge.


> Voir l'offre
-20 €-20 € dès 149 € d'achats sur le bricolage et le jardin chez Rakuten
Valable jusqu'au 27 Mai

Rakuten offre actuellement 20 € de réduction dès 149 € d'achats sur le bricolage et le jardin avec le code BRICO20.


> Voir l'offre

Sujets relatifs
[Excel 2007] Macro : Sélection d'un tableau selon sa longueur variable
Excel 2007, Série de nombre croissant à l'aperçu
Excel 2007 tri par nombre de caractères
Excel 2007 - Suppression selon format
menu contextuel excel 2007 ne fonctionne plus
Excel 2007 Copier/Coller d’une feuille à l’autre Dans un même classeur.
Graphique Nuage de points sous excel
EXCEL 2007-stdole32.tlb-WIN7 SP1x64
Formule excel 2007
Excel 2007, insertion ligne vierge en automatique
Plus de sujets relatifs à excel 2007 classement selon nombre de points
 > Tous les forums > Forum Bureautique