Excel : Remplissage selon 2 coditions

Fermé
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 - 24 mars 2010 à 13:55
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 25 mars 2010 à 13:03
Bonjour à tous,

Voilà je gère un groupe de coureurs à pied et je veux mettre en place un petit classement sur format Excel.

En fait il y a 3 niveaux de compétition (départemantal, régional et national) et les coureurs marquent ds points lorsqu'ils terminent dans les 10 premiers de la course.
Bien sûr ils mrquent plus de points sur des courses nationales que sur des courses départementales (le premier d'une course national marque 1200 pts et le 1er d'une course départemantal marque 300 pts).

J'aimerai donc que dans mon tableau Excel, le nombre de points marqués par l'athlète se remplisse automatiquement quand je rentre sa place.
Ainsi, j'ai par exemple en A1 "le nom de la course", en A2 le niveau de la course (1=national, 2=régional, 3=départemental) et en A3 je rentre la place de lathlète...et j'aimerai qu'en A4 le nombre de points marqués s'inscrive automatiquement en prenant en compte la condition "niveau de la course" et "place de l'athlète" (par exemple si nivea e la course =3 et que dans place de l'athlète je rentre "1", il faudrait que 1200 s'inscrive automatiquement).

Comment puis-je faire ? Dois-je utiliser des macros ou puis-je faire autrement ? J'avais pensé à la mise en forme conditionnnel mais comme son nom l'indique ça ne marche que pour la mise en forme et non pas pour inscrire une valeur.

Merci de votre aide.
A voir également:

6 réponses

profares Messages postés 48 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 15 mai 2010 2
24 mars 2010 à 14:05
Si selon une condition tu souhaites avoir une couleur ou un format (Gras, Italique ...) il faut passer par les mises en formes conditionnelles

Si selon une condition tu souhaites avoir une valeur tu dois passer tout simplement par la fonction excel "SI"
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
24 mars 2010 à 15:37
Merci pour cette première réponse.

C'est bien ce que je pensais. Par contre, il y a tellement de conditions dans mon cas qu'une fonction risque de ne pas marcher. Car dans mon cas voici toutes les possibilités :

Si niveau = 1, place de l'athlète = 1, alors inscrire "1200"
Si niveau = 1, place = 2, alors inscrire "1100"
Si niveau = 1, place = 3, alors inscrire "1000"
... jusqu'à place = 10...
puis même chose pour niveau 2....
puis même chose pour niveau 3.

Comment puis-ke donc faire ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
24 mars 2010 à 18:17
Bonsoir
peut pêtre pas si compliqué que cela, mai il faudrait nous en dire plus sur l'organisation de vos données.
En attendant, un modèle de ce qui est possible sans macro. On peut adapter à plus complexe,si vous nous renseignez plus.
http://www.cijoint.fr/cjlink.php?file=cj201003/cijHifu8Ap.xls
Crdlmnt
0
tontong Messages postés 2549 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 23 avril 2024 1 054
25 mars 2010 à 12:09
Bonjour à tous,
J'avais ébauché une solution avec un formule en "index,equiv" quand j'ai vu que Vaucluse avait répondu. Bref poussé par la curiosité et parce que je n'ai pas tendance à utiliser "recherchev"
j'ai regardé et trouvé un lapsus dans la formule. =SI(ET(ESTVIDE($B3);ESTVIDE($C3));"";RECHERCHEV(B3;$J$3:$M$12;$C3+1;0)) . Sauf erreur de ma part il faut remplacer le ET par un OU.
0
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
25 mars 2010 à 10:40
Merci beaucoup pour votre aide,

Je vais donc en effet vous donner plus d'infos mais en fait le fichier que vous avez joint correspond exactement à ce que je souhaite faire.

En effet mon but est exactement le même que sur le fichier, c'est à dire qu'en fasse du nom de l'athlète pour une compétiton x ou y, je rentre le niveau de la compétition, la place de l'athlète et comme dans le fichier le nombre de points s'inscrit automatiquement.

Si je comprends bien la formule dans le fichier, il s'agit de rappeller la valeur correspondante dans la grille de cotation en recherchant dans les cellules B3 et C3 la place et le niveau de la compétition pour trouver la bonne valeur à condition que B3 et C3 ne soient pas vides.

Cela me conviendrait parfaitement par contre je ne sais pas trop comment marche la fonction recherche...

En ce qui me concerne, les seules différences avec le fichier sont les suivantes :
le niveau 1 marque des points jusqu'à la 15ème place, le niveau 2 jusqu'à la 12ème place et le niveau 3 jusqu'à la 10ème place.
Les points marqués ne sont pas tout à fait les mêmes mais après ce n'est pas très grave je pense...il suffit d'adapter.
Dans un premier temps je n'avais pas forcément prévu d'insérer la grille de cotation sur la feuille mais compte tenu de la simplicité de la formule cela me convient parfaitement.

Me reste plus qu'à comprendre la fonction recherche pour l'adapter à me fauille...

Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nemotri Messages postés 175 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 8 décembre 2017 35
25 mars 2010 à 12:59
Bon et bien grâce à votre précieuse aide j'ai réussi à faire exactement ce que je souhaitais....Un grand Merci.

...Mais maintenant j'ai un autre souci. En fait pour que mon classement soit équitable, j'aimerai ne prendre en compte que les 8 meilleurs résultats de chaque athlète avec en plus comme obligation qu'ily ait parmi ces 8 résultats au moins 2 niveau 1 et maximum 3 de niveau 3.

Comment puis-je procéder ?
Je pensais déjà dans un premier temps classer, pour chaque athlèteet dans un ordre décroissant, tous les résultats de niveau 1, puis tous les résultats de niveau 2 et endin tous ls résultats de niveau 3.

Comment puis-je réaliser ceci ?

Merci d'avance.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
25 mars 2010 à 13:03
Bonjour
1°)Tontong a parfaitement raison dans son message un peu plus haut, lien ci dessous
(https://forums.commentcamarche.net/forum/affich-17124717-excel-remplissage-selon-2-coditions#5

donc remplacer ET ar OU ce sera plus efficace
Merci Tontong

2°)S'il n'y a plus qu'à assimiler la fon ction RECHERCHEV ouH utilisée:
RECHERCHEV ou RECHERCHEH recherche une valeur dans la 1° colonne (V° ou la 1° ligne (H) d'un champ et ressort la valeur correspondante dans la colonne (V) ou la ligne (H) définie par son N° dans le champ .
Le 0 final est un code excel qui interdit à la formule de sortir une valeur proche sinon elle prend pas défaut la valeur d'avant
Pour l'exemple:
rechercher la valeur correspondante à celle de A1 dans un champ B5:X8, située sur la ligne 6 soit la 2°du champ s'écrit:

=RECHERCHEH(A1;B5:X8;2;0)

dans la proposition faite la formule:
=SI(ET(ESTVIDE($B3);ESTVIDE($C3));"";RECHERCHEV(B3;$J$3:$M$12;$C3+1;0))
en remplaçant ET par OU dans le 1° item:
renvoi vide si B3 ou C3 =0
recherche la valeur de B3 dans la colonne J3:J12 (1° du champ) et ressort celle correspondante de la colonne C3+1 à savoir le N° de Niveau +1 qui donne donc :
pour niveau 1: 1+1= 2° colonne du champ
Niveau 2: 2+1 = 3° colonne.... etc...

Bien cordialement

0