Pb pour reclasser une liste suivant différents critères

Résolu
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je vous soumets un petit défi sur Excel qui dépasse mes maigres compétences...
Je réalise une feuille de calcul visant à faciliter la vie des personnes qui dépouillent des élections professionnelles. Il s'agit d'une suite de calculs fastidieux avec une étape sensible : le reclassement des candidats selon le nombre de votes reçus et le pourcentage de ratures.
Les candidats se présentent dans l'ordre de leur choix sur la liste électorale.
Chaque liste reçoit le même nombre de bulletins, mais le nom de certains candidats peut être raturé par les votants et ils perdent des voix. Les candidats qui reçoivent plus de 10% de ratures sont repoussés en bas de liste et reclassés par ordre décroissant du nombre de voix (après ratures).

Exemple :

Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------B
---B------------47------------2-----------4,3%-------45-----------D
---C------------47------------7----------14,8%-------40-----------A
---D------------47------------0-----------0,0%-------47-----------E
---E------------47------------6-----------12,7%-------41----------C


Merci pour votre aide !!!
A voir également:

4 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Sans chercher très loin, vous trier le tableau sur la colonne [soit en %] dans l'ordre décroissant.
Outil [Trier] sous l'onglet [Données] bloc [Trier et Filtrer]

0
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, mais je me suis mal exprimé: la liste initiale doit subsister, les noms doivent se reclasser automatiquement dans la dernière colonne. ..
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458 > nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
A bon d'accord, mais je vous prie d'utiliser l'option : Répondre au sujet et non pas Commenter la réponse.... Et en plus un petit bonjour va de soit pour chaque message, nous ne sommes pas au parloir...
Salutations.
Le Pingou
0
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

Déjà il faut se mettre d'accord sur les règles ;-)

https://www2.liaisons-sociales.fr/ratures-et-bulletins-nuls

Pour moi, les candidats ayant moins de 10% de rature sont en tête dans l'ordre de la liste et ceux ayant plus de 10% de ratures sont classés après, dans l'ordre du nombre de voix obtenues.

Le nouvel ordre (liste résultats) devrait être :

Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------C
---B------------47------------2-----------4,3%-------45-----------A
---C------------47------------7----------14,8%-------40-----------E
---D------------47------------0-----------0,0%-------47-----------B
---E------------47------------6-----------12,7%-------41----------D


Un étranger, c'est un ami qu'on n'a pas encore rencontré.
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir jee pee,

C et A ont plus de 10 % de rayés; ils ne peuvent être en tête.
Et "l'ordre du nombre de voix obtenues" doit bien être décroissant.
Bref, c'est ce que nadarccm0512 a expliqué, non?

cordialement
0
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention  
 
les A,b,c sont pour moi une mauvaise présentation

il serait preferable

Ordre------Nb de-----------Nb----------soit-------Nbre-------Classement
initial------bulletins------ratures -------------de voix------election
---Alain------------47------------5----------10,6%-------42-----------3
---Bernard----------47------------2-----------4,3%-------45-----------1
---Claude-----------47------------7----------14,8%-------40-----------5
---Denis------------47------------0-----------0,0%-------47-----------2
---Estelle----------47------------6----------12,7%-------41-----------4
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir à tous,

je pars d'une disposition comme ça :

En G3:G7, tu rentres la formule matricielle :
=INDEX(A3:A7;PRODUITMAT(--(LIGNE($1:$5)-SOMMEPROD(--(D3:D7<10%))=TRANSPOSE(LIGNE($1:$5))*(LIGNE($1:$5)>=SOMMEPROD(--(D3:D7<10%))));INDEX(SI(D3:D7>=10%;LIGNE(A3:A7);0);EQUIV(GRANDE.VALEUR(SI(D3:D7>=10%;E3:E7+(LIGNES($A$1:$A7)-LIGNE(E3:E7))/100000000;0);LIGNE($1:$5));SI(D3:D7>=10%;E3:E7+(LIGNES($A$1:$A7)-LIGNE(E3:E7))/100000000;0);0)))+SIERREUR(PETITE.VALEUR(SI(D3:D7<10%;LIGNE(A3:A7));LIGNE($1:$5));0)-LIGNES($A$1:$A2))
et tu la valides par CTRL+MAJ+ENTER

tu peux recopier la zone A3:G7 autant que nécessaire pour tester cette formule avec plusieurs configurations de vote.

au cas où : https://www.cjoint.com/c/EGCbkLJazgH

cordialement
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
je viens de me rendre compte que tu as posté sur au moins 3 autres forum !!

https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=66859&start=

http://www.developpez.net/forums/d1534555/logiciels/microsoft-office/excel/pb-reorganiser-membres-d-liste/

https://www.excel-downloads.com/threads/pb-pour-reclasser-une-liste-suivant-plusieurs-criteres.233881/

tu aurais pu le dire, je ne me serais pas cassé la tête sur ta question.
0
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'essaie de décortiquer et comprendre ta solution, mais je ne comprends pas la référence aux lignes $1:$5. Elle ne semble pas faire référence à des valeurs utiles, mais sans elles la formule ne marche pas.
Pourrais-tu m'expliciter la manip ?

Merci.
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859 > nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,

ligne($1:$5) crée un vecteur de 5 lignes contenant la séquence de 1 à 5.
Pour s'en convaincre, il suffit de sélectionner 5 cellules superposées, disons A1:A5, puis de saisir ligne($1:$5) et de valider par CTRL+MAJ+ENTER
Il y a beaucoup d'autres façons de le faire.
J'ai trouvé que celle là était économique en frappes clavier.

l'objectif est d'obtenir la matrice booléenne que j'ai dû laisser en $T$3:$X$7.

encore une fois, si tu sélectionnes une zone de 5 sur 5 cellules et que tu saisis =--(LIGNE($1:$5)-SOMMEPROD(--(D3:D7<10%))=TRANSPOSE(LIGNE($1:$5))*(LIGNE($1:$5)>=SOMMEPROD(--(D3:D7<10%)))) validé par CTRL+MAJ+ENTER, tu auras la matrice $T$3:$X$7.

Si tu veux simplifier la formule, tu peux remplacer ce code par $T$3:$X$7.

cdlt
0
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Désolé de te solliciter à nouveau, mais je ne parviens pas à transposer la formule ! J'ai tjs un message d'erreur #nombre! qui apparaît à la place du résultat :
http://www.cjoint.com/c/EHeqjCuiai5
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859 > nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,

regarde : https://www.cjoint.com/c/EHevcJAVSYy

cordialement
0
nadarccm0512 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Désolé si je ne respecte pas les règles d'usage, c'est la première fois que je poste. La question étant assez urgente je l'ai en effet postée sur plusieurs forums, pour drainer un maximum de réponses. Je ne m'attendais pas à autant de réactivité !!!

Merci à JvDo, qui a trouvé la solution, semble-t-il : en effet, la difficulté consiste à garder les noms ayant obtenu moins de 10% de ratures dans l'ordre initial de la liste, et de reclasser les autres en fonction du nombre de voix. Je n'avais peut-être pas assez insisté sur ce point.

Merci donc pour cette solution à la fois élégante et efficace. J'imagine que j'ai le droit d'en communiquer l'adresse aux personnes qui ont répondu sur d'autres forums ?

Mon problème, maintenant, c'est que si je constate que la formule de JvDo fonctionne, je ne comprends pas comment ! Mais je vais la décortiquer pour l'adapter à mon fichier initial !

Merci encore !
0