Automatisation d'un tri [Résolu/Fermé]

Signaler
-
 Bremic83 -
Bonjour à tous,et meilleurs voeux pour 2010
Dans le but de classer les performances réalisées chaque mois,et ainsi d'avoir instantanément le classement des
équipes,en cours d'année,j'ai regroupé les totaux mensuels dans un petit tableau composé de deux colonnes.
La première contient les totaux çi dessus mentionnés,répartis sur vingt lignes.
La seconde contient les numéros des équipes,de 1 à 20.
Jusqu'à maintenant,j'effectue le tri ultime,manuellement.
Est il possible de l'automatiser et que ce tri se fasse tout seul,lorsque nécessaire,lors de chaque changement
de données ?
J'ai essayé d'adapter une macro,trouvée sur ce forum,et datant de 2008,mais je n'y suis pas arrivé.
Quelqu-un aurait - il une solution à me proposer,qui soit facile à adapter et mettre en place,car je n'ai pas
une grande expérience.
Je travaille sur VISTA et Excel 2007.

Merci,et à plus

Bremic83

7 réponses

Messages postés
53355
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 février 2021
15 373
Bonjour.

Excuse-moi, mais effectuer UN clic sur l'icône "Trier du plus petit au plus grand" me paraît imbattable comme automatisation, fiabilité et rapidité ! Aucune macro ne fera mieux !

Je fais allusion à cette icône composée d'un
A bleu au dessus d'un Z rouge à la gauche d'une flèche verticale vers le bas,
qui se trouve par défaut dans Données/Trier et filtrer
mais que rien ne t'empêche d'ajouter à la barre d'outils Accès rapide ...

Cordialement, et tous mes voeux de Nouvel An.
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3
Bonjour Raymond PENTIER,et merci de te pencher sur mon problème.
Le tri que tu préconises,est celui que je pratique depuis un bon moment,et que je voudrais bien remplacer par un automatisme quelconque.
Je ne suis pas tout à fait d'accord avec toi,quand tu écris UN clic sur l'icône"...etc !
Dans le déroulement de ce tri,je compte
1er clic: sélection des colonnes,Ttx et Clt ( Totaux et Classement)
2ème :sélection tri de A à Z
3ème et 4ème :sélection de la colonne Clt
5ème et 6ème :sélection du + petit au + grand.
7ème : OK pour lancer le tri

Je ramène ainsi ma colonne classement à la position de départ,car,si je lances le tri comme suit,sur le classement de la veille,le résultat est des plus fantaisiste,et n'a rien à voir avec la réalité.

Pour lancer le tri:
1er clic :sélection des deux colonnes
2° clic :Sélection tri de Z à A
3°+ 4° :Sélection colonne Ttx
5° + 6°:Sélection du + grand au + petit
7° : OK

Fin des opérations : total = 14 clics

Ou,il y a quelque chose qui m'échappe (et c'est fort possible ! ),ou ton calcul est faux.

J'ai déjà un classeur,où une sélection de chiffres est triée sur huit colonnes,par une macro matricielle,qui donne toute satisfaction,qu'un correspondant m'avait concoctée,sur un autre forum,mais,je suis incapable de l'adapter à mon problème actuel.Mes connaissances sont bien trop limitées.

Je reste donc dans l'espoir qu'une bonne âme pourra me fournir une solution.

Encore merci,Raymond,t à plus .

http://www.cijoint.fr/cjlink.php?file=cj201001/cijp3bRrOc.xlsm

Bremic83
Messages postés
53355
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 février 2021
15 373
Bonjour.

Je crains que tu aies mal abordé le problème : Pourquoi effectuer un tri manuel, alors que tu disposes de la fonction RANG pour calculer directement le classement ?
En H5 tu tapes la formule =RANG(G5; $G$5:$G$24) que tu recopies jusqu'en H24. C'est tout !
Et chaque fois que tu modifies une cellule de la colonne G tout le classement se recalcule instantanément : plus aucun tri, aucune manipulation, aucune macro !
Ma seule interrogation : comment fais-tu pour savoir de quelle équipe il s'agit ? Je présume que ce renseignement figure dans l'une des premières colonnes (vides dans ton fichier-exemple) ...

Une question accessoire (et peut-être stupide) :
pourquoi ton fichier est-il enregistré au format xlsm alors qu'il ne contient aucune macro ?
Messages postés
53355
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 février 2021
15 373
Encore moi !

Si tu veux absolument afficher ton tableau une fois le classement calculé, commence dès le début par donner le nom "base" à la plage G5:H24.
Il te suffira, chaque fois que tu le voudras, de sélectionner cette plage {soit en faisant Accueil/Edition/Rechercher et sélectionner/Atteindre/base soit en sélectionnant base dans la Zone Nom, à gauche de la barre de formule}, puis de faire un clic-droit dans cette plage et de sélectionner Trier/Trier du plus grand au plus petit.

... ça fait 3 clics en tout !

Et ces gestes-là, tu peux les stocker dans une macro automatique (sans écriture de lignes d'instructions VBA) en te servant de Affichage/Macros/Enregistrer une macro.
https://www.cjoint.com/?bgbJQ6TXQD

Cordialement.
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3
Bonsoir,Raymond PENTIER.

J'ai bien cru que ta solution était la bonne,malheureusement,ce n'est pas le cas:le succès espéré n'est pas au rendez-vous !
Dans le classement,s'il y a des scores identiques,le même N° de classement est répété,j'ai ainsi 3 fois le n°5,
2 fois le n°19,et pas de n° 6,n° 7,ni de n° 20,et le classement des autres ne correspond pas du tout à
celui réalisé.
Néanmoins,c'est très gentil de ta part d'avoir essayé cette solution,et je t'en remercie .
Tu me poses la question : Pourquoi mon fichier est enregistré en xlsm ?,je suis bien incapable de te le dire,
je suppose que c'est parceque c'est un extrait d'un fichier dans lequel j'ai enregistré une douzaine de macros.
mais en réalité,je ne sais pas.
Tu as pu te rendre compte que mes connaissances en informatique sont des plus rudimentaires,que le peu de progrès que j'enregistre depuis mon initiation,qui date de fin décembre 2008,sont très limités et sont tous dùs à des correspondants comme toi,et,à qui,je profite de l'occasion pour présenter mes voeux pour 2010.
Je réponds à ta deuxième question: Coment je fais pour savoir de quelle équpe il s'agit ?
Eh bien,c'est le n° d'ordre,de 1 à 20,qui est attribué à chaque équipe,et,qui,normalement,change de rang,si nécessaire,dans le classement,objet de la présent discussion.
Encore merci pour ta peine,et,à plus.

Bien cordialement.

Bremic83
Messages postés
53355
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 février 2021
15 373
"Dans le classement,s'il y a des scores identiques,le même N° de classement est répété,j'ai ainsi 3 fois le n°5, 2 fois le n°19,et pas de n° 6,n° 7,ni de n° 20,et le classement des autres ne correspond pas du tout à celui réalisé."

Mais c'est tout-à-fait normal !
Si tu as 3 équipes avec le même total, elles sont forcément cinquièmes ex-aequo, et l'équipe suivante est à la huitième place ! Je ne comprends pas ton étonnement ...

Pour ce qui est du "classement des autres qui ne correspond pas du tout", je ne pourrai te répondre que quand tu m'enverras ton fichier avec TES données et MES formules ...
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3
Bonsoir,Raymond PENTIER,et tout d'abord,toutes mes excuses.
Ton procédé fonctionne parfaitement bien,c'est moi qui n'avait rien compris au film.
Tu sais,je suis comme les vieux diesels,il faut un certain temps de préchauffage !
Dans mon esprit,le classement devait être identique à celui obtenu par la méthode du tri manuel,où les vingt
n° d'identification apparaissent tous,les ex-aequos étant dans l'ordre des numéros.
Il est donc inutile de te casser la tête pour trouver une solution à un problème inexistant.
Je te remercie encore pour ta gentillesse.
Je vais étudier la méthode proposée par Gilou,mais elle me parait assez difficile à mettre en place,enfin,on verra bien
Bien cordialement

Bremic83
bonjour
j'avais bricolé cela pour un concours , je l'ai adapté pour 8mois
tu ne saisis que dans la col des mois , c'est tout les ex aequo sont pris en compte
a+
http://www.cijoint.fr/cjlink.php?file=cj201001/cijDN6GBVR.xls
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3
Bonsoir gilou.
Effectivement,ton bricolage m'intéresse,du fait de sa facilité d'utilisation,j'ai étendu sa plage d'activité sur douze mois,mais,c'est la suite qui me pose problème,je me perds dans les formules.
Pourrais tu m'indiquer la formule la plus simple,car,je n'ai pas besoin des performances mensuelles,les ayant dans les tableaux originaux.
Le seul résultat recherché,est le classement automatique annuel,mis à jour,si nécessaire,par la saisie des données dans le tableau mensuel concerné.
Merci,et,à plus

Bremic83
>
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010

bonjour
en gros ce que tu veux ;c'est la meme chose mais sur 12mois
http://www.cijoint.fr/cjlink.php?file=cj201001/cijdXoj4PN.xls
pour la partie classement il fallait inserer des colonnes

pour m'entrainer j'ai rallongé la partie info et viré "point"
a+
>
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010

re
au cas ou : belote 2 c'est de l'annuel puisque il fonctionne sur le cumul des 12mois (col O) si dans les formules tu vois A ou P ces col sont masquées la col P sert pour les ex aequo
a+
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3 > gilou
Bonsoir gilou.
C'est encore moi qui t'appelle à mon secours.
J'avais modifié ton premier tableau,en l'adaptant aux douze mois,mais je n'obtenais que le classement de dix sept n°,sur les vingt concernés.
Tu m'as envoyé "belote 2",ce dont je te remercie,mais,j'ai exactement le même problème,à savoir:
Dans la colonne "Classement",D28 àD44,seuls dix sept n° sont triés.
J'ai rajouté les cellules D45,46 et 47,et copié les formules des précédentes.
Dans ces trois cellules,au lieu des numéros attendus,j'ai #N/A
J'ai recherché dans Aide,Afficher les étapes de calcul,et,dans cette fenêtre,il ya la formule incriminée,mais,je ne comprends pas ce qu'il y a à modifier,cette formule est identique aux précédentes de la colonne,sauf le n° de ligne,évidemment.
Aucun chiffre n'est affiché dans les cellules E45,46,47.
Je suppose qu'elles sont alimentées par des données émanant d'une ou plusieurs autres colonnes,et que c'est l'absence de ces données qui est la cause de tout celà.
Complètement dépassé par le problème,je viens te demander ce que je dois faire,s'il te plait.
D'autre part,je souhaite éliminer les fonctions de la ligne 23, =MAX(C2:C22) et la suite dans les douze colonnes.
et la remplacer par la fonction SOMME de la colonne.Je supprimerais aussi la rubrique des meilleurs de chaque mois.
Ces changements risquent-ils d'interférer dans le résultat final ?

Désolé de t'em..bêter avec ces problèmes,encore merci.
Cordialement

Bremic83
bonjour
comme je n'ai pas le net chez moi ; tu as du croire que j'avais laissé tombé ; mais non
j'avais fais qqes erreurs mais ça y est ; c'est normalement pret à cuire
je comprend ton desaroi avec la col b 45,46.......48 car les valeurs etaient en blanc ,si bien que ne les voyant pas tu ne pouvais pas tout percuter ; de plus il y avait un probleme de decalge .......et de val non renseignées
quant à la suppression des max() et du tableau info ( en noir) tu selctionne la plage > sup puis le noir avec la cruche > aucune coloration ;ou alors (mais seulement pour la couleurs ,tout ce qui est format) ;tu cliques sur une cel vierge > le pinceau> crac sur la plage de cel selectionnée ;
si tu as des remords tu peux toujours faire >annuler
http://www.cijoint.fr/cjlink.php?file=cj201001/cijn08D1Yh.xls
fais gaffe; j'ai oublié de renommer belote 2
a+
Messages postés
34
Date d'inscription
vendredi 8 mai 2009
Statut
Membre
Dernière intervention
29 mars 2010
3
Bonsoir gilou,et merci pour ce nouveau tableau.
Je n'ai pas le temps de mettre en place et d'adapter le tout,je vais avoir peu de temps à y consacrer ces jours prochains.
Je te tiendrai au courant.
Encore merci,et à plus

Bremic83
Bonsoir gilou,
Je viens de passer un certain temps à mettre le dispositif en place,et à l'essayer.
Tout fonctionne bien,sauf l'équipe n° 20.: Tant que le classement ne la change pas de place,le chiffre est apparent,colonne C 47. Mais,si elle change de rang,je me retrouve avec le #N/A à la place du n° dans la
cellule correspondant à son classement.
Il semble qu'il manque une donnée dans une cellule,mais je n'ai pas réussi à trouver laquelle et ce qui doit
être mis dedans !
Vois tu où est le hic ?

A plus

Bremic83
bonsoir
le hic viens de la colonne A qui contient la fonction RANG ; cette derniere sert à faire le classement ;
pour resoudre ton probleme ( normalement) tu cliques sur A2 puis en passant sur le coin inf droit de cette cel
il va apparaitre un croix ; tu l'attrapes et tout en la maintenant tu descends jusqu'au bout du tableau ainsi comme il manquait une valeur pour renseigner la fonction RECHERCHE ; c'etait normal qu'elle te renvoie NA#
Ma version marche tres bien et je pense que lors de ton adaptation ne voyant pas de col A , tu ne l'as pas incrementée D'une manière generale verifie bien le nb de lignes concernées dans toutes les fonctions utilisées
tout doit correspondre et si une cel contient une valeurs fixe (1 2 3 4........) elle doit etre fournie car comme tout est lié => bug
n'hesite pas si..........
Bonjour gilou.

Après bien des essais,j'ai obtenu un résultat satisfaisant,tout simplemment en supprimant le chiffre 20,et en le remplacement par le 21,et là,ça marche !
Ne me demande pas pourquoi, je ne suis pas capable de le déterminer !
Enfin,l'essentiel est que le but visé soit atteint.
Je te remercie encore pour la patience dont tu as fait preuve envers moi,c'est très sympa de ta part,
merci aussi à Raymond PENTIER.
Très cordialement , et, à plus.

Bremic83