Rechercher les 'Parfaites de saison de chacun des joueurs

Bonjour à tous,

Dans le fichier en pièce jointe, dans l'onglet "Étiquettes", cellules marquées en vert (C17, F17, Etc...Etc...), j'aimerais pouvoir donner $25,00 pour chaque parfaite de saison réussie par un joueur. Si un joueur en réussi deux, le montant double, trois, le montant triple...et ainsi de suite.

Les parfaites de saison sont inscrites dans les onglets marqués Sem.01, Sem.02. Sem.03 (Mon fichier principale contient 32 semaines et il peux y avoir des parfaites de saison dans n'importe laquelle des semaines, inscrite par n'importe lequel des joueurs). Les parfaites de saison sont identifiées par une cellule en rouge montrant un score de 300 (300 étant le maximum qu'un joueur peut inscrire).

Les joueurs sont identifiés par des numéros inscrits dans l'onglet "Données".

17classeur1v1.xlsm (135.55 Ko)

Merci beaucoup pour aide.

Bonjour

Formule en C17 copiée-collée dans les autres emplacements

=(SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$C$2");LIGNE($1:$161)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$E$2:$G$2");LIGNE($1:$161)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$C$2");LIGNE($1:$161)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$F$2");LIGNE($1:$161)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$C$2");LIGNE($1:$161)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")&"!$G$2");LIGNE($1:$161)-1;0)))=300)))*25

Cordialement

11classeur1v1.xlsm (139.08 Ko)

Bonjour Amadeus,

Merci beaucoup pour ta réponse rapide.

Afin de tester ta formule encore plus loin, j'ai ajouté une semaine (Sem.04) au fichier et j'ai aussi ajouter des parfaites de saison dans la Sem.04 aux joueurs #1020 et #1040.

Les cellule C17 et I17 devraient montrer un $25,00 de plus. Ce n'est pas le cas.

J'ai aussi copié la formule dans mon fichier principale qui contient 32 semaines de jeu. La formule ne fonctionne pas du tout. Aucun $25,00 ne s'inscrit aux joueurs ayant réussi une parfaite.

Excuse mon ignorance mais ta formule est beaucoup trop élaborée pour mes connaissances. Ce qui fait que je n'arrive pas à trouver le pourquoi du problème, si problème il y a .

9classeur1v2.xlsm (158.07 Ko)

Merci encore pour ton aide.

Bonjour

Dans la formule, l'expression

INDIRECT("Sem."&TEXTE(DATE(;1;COLONNE($A:$C));"jj")

revient à plusieurs reprises.

et traduit dans le calcul les 3 feuilles du fichier.

Pour 4 Feuilles, on remplace COLONNE($A:$C) par COLONNE($A:$D)

Pour 32 feuilles semaine, il faudra donc remplacer tous les COLONNE($A:$C) par

COLONNE($A:$AF), AF étant la colonne 32

Cordialement

Bonjour Amadeus,

Merci encore pour ta réponse rapide.

Ça fonctionne parfaitement bien en changeant les $A:$C par $A:$D, jusqu'à ce que j'ajoute une semaine (Sem.05) et que je change les $A:$C par $A:$E. Ça ne fonctionne plus.

J'ai ajouté la fonction SIERREUR au début de la formule.

J'ai aussi transposé la formule dans mon fichier principale (7Mo) et ça ne fonctionne toujours pas.

Un grand merci pour ta patience et ton aide précieuse.

10classeur1v2.xlsm (182.28 Ko)

Bonsoir.

Ta feuille Sem.05 différe des autres feuilles et contient des formules qui renvoient des erreurs #N/A. Le résultat des formules utilisant ces cellules est donc #N/A.

Ces formules sont sur la feuille Sem.05 dans les 4 dernières cellules de chaque équipe en colonne C et par exemple C7 à C10, C17 à C20, C27 à C30, etc.. Les Feuilles Sem.01 à Sem.04 ne contiennent pas ces formules.

Je les ai donc corrigées avec (moi aussi) un SIERREUR qui remplace le #N/A par "" (rien) et tout rentre dans l'ordre.

Note: Je constate que tu utilises un grand nombre de formules RECHERCHEV sur lesquelles le 4ème argument est manquant, au risque d'obtenir un résultat erroné. Tu devrais rajouter ce 4ème argument. En l'occurence, FAUX.

Si une seule de tes formules de la colonne C, de n'importe qu'elle feuille de ton fichier renvoie #N/A ou une autre valeur d'erreur, la formule finale renverra aussi une valeur d'erreur.

Cordialement

10classeur1v2.xlsm (182.04 Ko)

Bonjour Amadeus,

J'ai ajouté une Sem.06 et ça fonctionne parfaitement. Merci.

Je suis désolé pour les formules #N/A. Je croyais les avoir supprimées de ce fichier mais je les ai plutôt éliminées d'un autre fichier que je voulais t'envoyer à la place de celui ci.

Est-ce à dire, qu'afin que la formule fonctionne dans mon fichier principale, je devrai ajouter SIERREUR à toutes les formules qui génèrent une erreur #N/A ou, ajouter le FAUX à toutes les formules RECHERCHEV qui se trouvent dans les colonnes A:D de chaque semaine ?

Concernant la RECHERCHEV, je te remercie du conseil. Je vais m'assurer d'ajouter le 4ème argument dans mes prochaines formules.

Merci encore pour ton aide.

Bonjour

Est-ce à dire, qu'afin que la formule fonctionne dans mon fichier principale, je devrai ajouter SIERREUR à toutes les formules qui génèrent une erreur #N/A ou, ajouter le FAUX à toutes les formules RECHERCHEV qui se trouvent dans les colonnes A:D de chaque semaine ?

Non! La colonne C est la seule concernée.

Cordialement

Bonjour Amadéus,

En créant un "groupe de travail" ça ne devrait prendre que quelques minutes pour régler la situation.

Je ne te remercierai jamais assez. Comme je l'ai déjà mentionné sur ce Forum, vous les "INTERVENANTS" je vous considère comme des "GÉNIES D'EXCEL", avec un "GRAND PLUS" en ce qui te concerne.

Je ferme le dossier.

Passe une belle journée.

Edit Amadeus:

Bonjour Amadeus,

Je suis désolé d'avoir à revenir sur ce sujet, mais j'ai un problème dont je ne comprend pas la cause.

Si je place 300 dans la Sem.01, le montant double automatiquement dans la cellule de l'étiquette. Aussi si je place 300 dans la Sem.32, le montant ne s'inscrit pas.

J'ai reproduit les 32 semaines de mon fichier principale dans le fichier en pièce jointe, avec explication.

12classeur1v3.xlsm (800.87 Ko)

Je te remercie de ton aide.

Bonjour

Effectivement.

L'erreur vient de ce que la formule servant à incrémenter les numéros d'onglets est une formule DATE qui récupère les jours au format "jj", soit 01,02,03 ne peut aller au dela de 31 puisqu'il n'y a pas de 32ème jours dans un mois.Ici, le mois 1 est janvier.

=TEXTE(DATE(;1;COLONNE($A:$AE));"jj") incrémente jusqu'au 31 janvier

==TEXTE(DATE(;1;COLONNE($A:$AF));"jj") termine au 1er février qui au format "jj" est aussi 01, ce qui explique que Sem.01 est compté 2 fois et que Sem.32 ne l'est pas.

Je reprendrais plus tard pour trouver une autre solution.

Cordialement

Bonjour Amadeus,

Encore merci pour ton aide. J'attend la nouvelle solution à ta discrétion.

Bonne journée.

Bonjour

Finalement, en remplaçant dans les formules

TEXTE(DATE(;1;COLONNE($A:$AF));"jj")

par

TEXTE(DATE(2000+COLONNE($A:$AF);1;1);"aa")

Tout rentre dans l'ordre et j'aurai appris quelque chose si tes test sont concluants

Cordialement

7classeur1v3.xlsm (801.59 Ko)

Bonjour Amadeus,

Tu pourras dire que tu as appris quelque chose. Les test sont très concluants. tout est rentré dans l'ordre avec la nouvelle formule.

Je ne te remercierai jamais assez pour tout l'aide que tu m'as apportée.

J'aurais une autre question pour toi, si ça te tente d'y répondre.

Dans mon fichier principale, il y a une feuille qui s'appelle "Abat-Neuf". Elle est unique mais contient les mêmes données que les feuilles nommées "Sem." (Voir pièce jointe). J'ai tenté d'appliquer ta formule à cette feuille unique en changeant le nom "Sem." par "Abat-Neuf" et en changeant le partie $A:$AF par $A:$A afin de n'identifier qu'une seule date. Ça ne fonctionne pas.

Si ça te tente, ce serait apprécié.

7classeur1v4.xlsm (818.17 Ko)

Merci encore et passe une très belle journée.

Bonjour

La formule en C16 à copier-coller dans les autres emplacements

=SOMMEPROD(('Abat-Neuf'!$C$2:$C$161=B2)*('Abat-Neuf'!$E$2:$G$161=300))*10

Cordialement

Bonsoir Amadeus,

Encore une fois tu m'enlève une épine du pied. Ça fonctionne super bien.

Je me répète, mais je te remercie mille fois pour ton aide.

Je ferme le fichier.

Bonne soirée.

Bonjour Amadéus,

Désolé de te revenir avec le même sujet mais j'ai un problème. Je dois sortir l'onglet "Étiquettes" du classeur et le placer dans un classeur séparé (Régie interne oblige, je ne dois pas dévoiler les chiffres des étiquettes avant la fin de la saison).

La liaison entre les classeurs se fait parfaitement, sauf avec ta formule fournie pour les "parfaites de saison". J'ai essayé d'ajouter le nom du classeur à plusieurs endroits dans la formule, sans succès. Est-ce possible de faire une liaison avec cette formule ? Moi je n'y arrive pas.

Comme tu verras dans les fichiers en pièces jointes, si l'onglet "Étiquettes" demeure dans le classeur "Classeur1", tout fonctionne parfaitement.

Merci mille fois pour ton aide.

9classeur1.xlsm (156.45 Ko)

Bonjour

Ta formule en C17

=SIERREUR((SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$E$2:$G$2");LIGNE($1:$141)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$F$2");LIGNE($1:$141)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"![Classeur1.xlsm]$G$2");LIGNE($1:$141)-1;0)))=300)))*25;"")

La formule en remettant dans le bon ordre:

=SIERREUR((SOMMEPROD((T(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$E$2:$G$2");LIGNE($1:$141)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$F$2");LIGNE($1:$141)-1;0)))=300))+SOMMEPROD((T(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$C$2");LIGNE($1:$141)-1;0))=B2)*(--(N(DECALER(INDIRECT("[Classeur1.xlsm]Sem."&TEXTE(DATE(2000+COLONNE($A:$C);1;1);"aa")&"!$G$2");LIGNE($1:$141)-1;0)))=300)))*25;"")

Le Classeur source, puis la feuille, puis la cellule ou le champ.

Bien sur, la liaison n'est effective que Classeur source ouvert.

Cordialement

Bonjour Amadeus,

Encore une fois tu règles mon problème en deux-temps-trois-mouvements.

Je ne sais plus quoi dire pour te remercier. Les utilisateurs du Forum sont très choyés d'avoir un intervenant de ta trempe qui les aide à tous les jours.

Merci encore. Je ferme la dossier, en espérant que cette fois-ci, sera la dernière.

Rechercher des sujets similaires à "rechercher parfaites saison chacun joueurs"