Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Elu ou battu

3 réponses
Avatar
Richard G.
Bonjour =E0 tous,

En ces temps de p=E9riode =E9lectorale, j'ai un fichier avec en colonne A,
le nom du candidat, en colonne B son canton, et en colonne C son score
au premier tour.

En colonne D, j'arrive facilement =E0 inscrire "Elu" (les candidats qui
ont plus de 50%) ou "Battu" (ceux qui ont moins de 10% et ne peuvent
se maintenir au second tour).

Il me reste donc =E0 coder les candidats qui ont un score compris entre
10% et 50%. Et l=E0 2 possibilit=E9s :
1) soit, ils sont dans un canton (col B) o=F9 un autre candidat est =E9lu
et donc ils sont automatiquement =E0 coder en "Battu"
2) soit, il n'y a pas d'=E9lus dans le canton et il faut les coder en
"Ballotage" : ils peuvent se maintenir au second tour

=E7a para=EEt assez simple dit comme =E7a. Mais en fait, c'est terrible.
Depuis 2 jours je me bats avec des SI & ET & OU. En vain. Je crois
que les formules ne sont pas pertinentes. Je vais peux-=EAtre passer =E0
la macro directement.
Une id=E9e ? Une piste =E0 sugg=E9r=E9er ?
Merci pour votre contribution =E0 la science politique, et donc =E0 la
R=E9publique !

Vive la France !

3 réponses

Avatar
Daniel.C
Bonsoir.
Formule matricielle (à valider avec CTRL+MAJ+Entrée) :
=SI(C1>0.5;"Elu";SI(ET(C1<=0.5;MAX(($B$1:$B$20±)*$C$1:$C$20)>0.5);"Battu";"Ballotage"))
Cordialement.
Daniel
"Richard G." a écrit dans le message de news:

Bonjour à tous,

En ces temps de période électorale, j'ai un fichier avec en colonne A,
le nom du candidat, en colonne B son canton, et en colonne C son score
au premier tour.

En colonne D, j'arrive facilement à inscrire "Elu" (les candidats qui
ont plus de 50%) ou "Battu" (ceux qui ont moins de 10% et ne peuvent
se maintenir au second tour).

Il me reste donc à coder les candidats qui ont un score compris entre
10% et 50%. Et là 2 possibilités :
1) soit, ils sont dans un canton (col B) où un autre candidat est élu
et donc ils sont automatiquement à coder en "Battu"
2) soit, il n'y a pas d'élus dans le canton et il faut les coder en
"Ballotage" : ils peuvent se maintenir au second tour

ça paraît assez simple dit comme ça. Mais en fait, c'est terrible.
Depuis 2 jours je me bats avec des SI & ET & OU. En vain. Je crois
que les formules ne sont pas pertinentes. Je vais peux-être passer à
la macro directement.
Une idée ? Une piste à suggéréer ?
Merci pour votre contribution à la science politique, et donc à la
République !

Vive la France !
Avatar
francois.forcet
On 12 mar, 18:57, "Richard G." wrote:
Bonjour à tous,

En ces temps de période électorale, j'ai un fichier avec en colonne A,
le nom du candidat, en colonne B son canton, et en colonne C son score
au premier tour.

En colonne D, j'arrive facilement à inscrire "Elu" (les candidats qui
ont plus de 50%) ou "Battu" (ceux qui ont moins de 10% et ne peuvent
se maintenir au second tour).

Il me reste donc à coder les candidats qui ont un score compris entre
10% et 50%. Et là 2 possibilités :
1) soit, ils sont dans un canton (col B) où un autre candidat est élu
et donc ils sont automatiquement à coder en "Battu"
2) soit, il n'y a pas d'élus dans le canton et il faut les coder en
"Ballotage" : ils peuvent se maintenir au second tour

ça paraît assez simple dit comme ça. Mais en fait, c'est terrible.
Depuis 2 jours je me bats avec des  SI & ET & OU. En vain. Je crois
que les formules ne sont pas pertinentes. Je vais peux-être passer à
la macro directement.
Une idée ? Une piste à suggéréer ?
Merci pour votre contribution à la science politique, et donc à la
République !

Vive la France !


Salut Richard
Par macro :

Do While Range("C1").Offset(i, 0).Address <>
Range("C65535").End(xlUp).Offset(1, 0).Address
If Range("C1").Offset(i, 0) < 10 Then
Range("C1").Offset(i, 1) = "Battu"
Else
If Range("C1").Offset(i, 0) > 50 Then
Range("C1").Offset(i, 1) = "Elu"
For Each c In Worksheets("Feuil1").Range("B1", "B" &
Range("B65535").End(xlUp).Row)
If c = Range("C1").Offset(i, -1) And c.Address <>
Range("C1").Offset(i, -1).Address Then
c.Offset(0, 2) = "Battu"
End If
Next
Else
If Range("C1").Offset(i, 1) = "" Then
Range("C1").Offset(i, 1) = "Ballotage"
End If
End If
End If
i = i + 1
Loop

l'autre solution

Avatar
Richard G.
On 13 mar, 09:10, wrote:
On 12 mar, 18:57, "Richard G." wrote:



Bonjour à tous,

En ces temps de période électorale, j'ai un fichier avec en colonne A,
le nom du candidat, en colonne B son canton, et en colonne C son score
au premier tour.

En colonne D, j'arrive facilement à inscrire "Elu" (les candidats qui
ont plus de 50%) ou "Battu" (ceux qui ont moins de 10% et ne peuvent
se maintenir au second tour).

Il me reste donc à coder les candidats qui ont un score compris entre
10% et 50%. Et là 2 possibilités :
1) soit, ils sont dans un canton (col B) où un autre candidat est él u
et donc ils sont automatiquement à coder en "Battu"
2) soit, il n'y a pas d'élus dans le canton et il faut les coder en
"Ballotage" : ils peuvent se maintenir au second tour

ça paraît assez simple dit comme ça. Mais en fait, c'est terrible.
Depuis 2 jours je me bats avec des SI & ET & OU. En vain. Je crois
que les formules ne sont pas pertinentes. Je vais peux-être passer à
la macro directement.
Une idée ? Une piste à suggéréer ?
Merci pour votre contribution à la science politique, et donc à la
République !

Vive la France !


Salut Richard
Par macro :

Do While Range("C1").Offset(i, 0).Address <>
Range("C65535").End(xlUp).Offset(1, 0).Address
If Range("C1").Offset(i, 0) < 10 Then
Range("C1").Offset(i, 1) = "Battu"
Else
If Range("C1").Offset(i, 0) > 50 Then
Range("C1").Offset(i, 1) = "Elu"
For Each c In Worksheets("Feuil1").Range("B1", "B" &
Range("B65535").End(xlUp).Row)
If c = Range("C1").Offset(i, -1) And c.Address <>
Range("C1").Offset(i, -1).Address Then
c.Offset(0, 2) = "Battu"
End If
Next
Else
If Range("C1").Offset(i, 1) = "" Then
Range("C1").Offset(i, 1) = "Ballotage"
End If
End If
End If
i = i + 1
Loop

l'autre solution


Merci François : c'est parfait !!