Pb pour reclasser une liste suivant différents critères [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015
-
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015
-
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 !!!

4 réponses

Messages postés
9745
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
24 juillet 2020
1 063
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]

Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

Merci, mais je me suis mal exprimé: la liste initiale doit subsister, les noms doivent se reclasser automatiquement dans la dernière colonne. ..
Messages postés
9745
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
24 juillet 2020
1 063 >
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

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
Messages postés
29371
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
15 août 2020
6 609
Bonjour,

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

http://www.wk-rh.fr/preview/DgKoEjEjDiFjHm/edition/lce/lamy_comite_d_entreprise/143-96_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é.
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020
793
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
Messages postés
29371
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
15 août 2020
6 609 >
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020

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
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020
793
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
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

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.
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020
793 >
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

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
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015
>
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020

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
Messages postés
1925
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
7 juillet 2020
793 >
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

Bonsoir,

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

cordialement
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

C'est parfait.

Merci infiniment pour le temps consacré à mon problème.

Cordialement,
Messages postés
6
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
5 août 2015

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 !