Elu ou battu

Le
Richard G.
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 !
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5183481
Bonsoir.
Formule matricielle (à valider avec CTRL+MAJ+Entrée) :
=SI(C1>0.5;"Elu";SI(ET(C1 Cordialement.
Daniel
"Richard G."
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 !
francois.forcet
Le #5183071
On 12 mar, 18:57, "Richard G."
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

Richard G.
Le #5230121
On 13 mar, 09:10, wrote:
On 12 mar, 18:57, "Richard G."


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 !!


Publicité
Poster une réponse
Anonyme