"Nombre d'arguments trop important" !

clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Bonjour à tous,

merci avant tous, de l'intention que vous porterez à ce message.

Je suis en train de créer un Mastermind sur Excel, liant les fonctions simples et la VBA. J'ai fini de programmer les 2 premiers niveaux (avec 4 et 5 chiffres à deviner). Mais j'ai un problème concernant le niveau difficile (donc 6 chiffres à deviner).

Voici la formule pour "les chiffres à modifier" (ceux qui apparaissent dans la combinaison mais pas à la bonne place) :
=SI(C3="";"";SI(D3="";"";SI(E3="";"";SI(F3="";"";SI(G3="";"";SI(H3="";"";SI(C3=$C$2;0;SI(C3=$D$2;1;SI(C3=$E$2;1;SI(C3=$F$2;1;SI(C3=$G$2;1;0;SI(C3=$H$2;1))))+SI(D3=$D$2;0;SI(D3=$C$2;1;SI(D3=$E$2;1;SI(D3=$F$2;1;SI(D3=$G$2;1;SI(D3=$H$2;1))))+SI(E3=$E$2;0;SI(E3=$D$2;1;SI(E3=$C$2;1;SI(E3=$F$2;1;SI(E3=$G$2;1;SI(D3=$H$2;1;0))))+SI(F3=$F$2;0;SI(F3=$C$2;1;SI(F3=$D$2;1;SI(F3=$E$2;1;SI(F3=$G$2;1;SI(F3=$H$2;1))))+SI(G3=$G$2;0;SI(G3=$C$2;1;SI(G3=$D$2;1;SI(G3=$E$2;1;SI(G3=$F$2;1;SI(G3=$H$2;1))))+SI(H3=$H$2;0;SI(H3=$C$2;1;SI(H3=$D$2;1;SI(H3=$E$2;1;SI(H3=$F$2;1;SI(H3=$G$2;1))))))))).

Excel m'indique que le nombre d'arguments est trop important. J'ai tenté alors cette formule, le problème reste identique... :

=SI(C3;D3;E3;F3;G3;H3="";"";SI(C3=$C$2;0............

Que faire ? Je ne vois comment la simplifier d'avantage, ni comment créer une VBA à partir de ça.

Merci beaucoup de vos pistes de réponses.

Clémence.

5 réponses

fabien25000 Messages postés 673 Date d'inscription   Statut Membre Dernière intervention   59
 
vous pouvez peut etre jouer avec les ET OU:
=si(et(C3="";E3="";F3="");"";si(et(..... ca permet de regrouper les conditions communes
1
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

nombre bien placés :
=SOMMEPROD(--(A2:F2=A1:F1)) 

bon mais mal placés :
=SOMMEPROD(NB.SI(A1:F1;A2:F2)) - 'bien placés'
Si tu veux leur position enlever le sommeprod et valider en matriciel sur autant de cellules que nécessaire (6 ici)

cjoint en panne, pas de fichier déposé pour l'instant...
eric
1
Raymond PENTIER Messages postés 58993 Date d'inscription   Statut Contributeur Dernière intervention   17 366
 
Bonjour Clémence.

Pour répondre précisément à ta demande, et aller dans le sens de fabien25000, et sans préjuger de l'intérêt des formules proposées par Éric, que je salue ici, ta formule
=SI(C3="";"";SI(D3="";"";SI(E3="";"";SI(F3="";"";SI(G3="";"";SI(H3="";"";SI(C3=$C$2;0;SI(C3=$D$2;1;SI(C3=$E$2;1;SI(C3=$F$2;1;SI(C3=$G$2;1;0;SI(C3=$H$2;1))))+SI(D3=$D$2;0;SI(D3=$C$2;1;SI(D3=$E$2;1;SI(D3=$F$2;1;SI(D3=$G$2;1;SI(D3=$H$2;1))))+SI(E3=$E$2;0;SI(E3=$D$2;1;SI(E3=$C$2;1;SI(E3=$F$2;1;SI(E3=$G$2;1;SI(D3=$H$2;1;0))))+SI(F3=$F$2;0;SI(F3=$C$2;1;SI(F3=$D$2;1;SI(F3=$E$2;1;SI(F3=$G$2;1;SI(F3=$H$2;1))))+SI(G3=$G$2;0;SI(G3=$C$2;1;SI(G3=$D$2;1;SI(G3=$E$2;1;SI(G3=$F$2;1;SI(G3=$H$2;1))))+SI(H3=$H$2;0;SI(H3=$C$2;1;SI(H3=$D$2;1;SI(H3=$E$2;1;SI(H3=$F$2;1;SI(H3=$G$2;1)))))))))
peut commencer par
=SI(OU(C3="";D3="";E3="";F3="";G3="";H3="");"";
mais le reste contient plusieurs erreurs :
SI(C3=$C$2;0;SI(C3=$D$2;1;SI(C3=$E$2;1;SI(C3=$F$2;1;SI(C3=$G$2;1
 _ 
;SI(C3=$H$2;1
;0
))))
))
+
SI(D3=$D$2;0;SI(D3=$C$2;1;SI(D3=$E$2;1;SI(D3=$F$2;1;SI(D3=$G$2;1;SI(D3=$H$2;1
;0
))))
))
+
SI(E3=$E$2;0;SI(E3=$D$2;1;SI(E3=$C$2;1;SI(E3=$F$2;1;SI(E3=$G$2;1;SI(D3=$H$2;1
;0
))))
))
+
SI(F3=$F$2;0;SI(F3=$C$2;1;SI(F3=$D$2;1;SI(F3=$E$2;1;SI(F3=$G$2;1;SI(F3=$H$2;1
;0
))))
))
+
SI(G3=$G$2;0;SI(G3=$C$2;1;SI(G3=$D$2;1;SI(G3=$E$2;1;SI(G3=$F$2;1;SI(G3=$H$2;1
;0
))))
))
+
SI(H3=$H$2;0;SI(H3=$C$2;1;SI(H3=$D$2;1;SI(H3=$E$2;1;SI(H3=$F$2;1;SI(H3=$G$2;1
;0
)))))))
0
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

selon vos conseils, j'ai essayé plusieurs solutions, dont :

=SI(NB.SI(C3 :H3 ;"")=6;"";ESTNUM(EQUIV(C3 ;$D$2:$H$2;0))*(1-(C3=$C$2));ESTNUM(EQUIV(D3;$E$2:$H$2;0))*(1-(D3=$D$2));ESTNUM(EQUIV(E3;$F$2:$H$2;0))*(1-(E3=$E$2));ESTNUM(EQUIV(F3;$G$2:$H$2;0))*(1-(F3=$F$2));ESTNUM(EQUIV(G3;$F$2:$H$2;0))*(1-(G3=$G$2));ESTNUM(EQUIV(H3;$C$2:$H$2;0))*(1-(H3=$H$2)))


=SI(OU(C3="";D3="";E3="";F3="";G3="";H3="");"";SI(C3=$C$2;0;SI(C3=$D$2;1;SI(C3=$E$2;1;SI(C3=$F$2;1;SI(C3=$G$2;1;0;SI(C3=$H$2;1;0))))))+SI(D3=$D$2;0;SI(D3=$C$2;1;SI(D3=$E$2;1;SI(D3=$F$2;1;SI(D3=$G$2;1;SI(D3=$H$2;1;0))))))+SI(E3=$E$2;0;SI(E3=$D$2;1;SI(E3=$C$2;1;SI(E3=$F$2;1;SI(E3=$G$2;1;SI(D3=$H$2;1;0))))))+SI(F3=$F$2;0;SI(F3=$C$2;1;SI(F3=$D$2;1;SI(F3=$E$2;1;SI(F3=$G$2;1;SI(F3=$H$2;1;0))))))+SI(G3=$G$2;0;SI(G3=$C$2;1;SI(G3=$D$2;1;SI(G3=$E$2;1;SI(G3=$F$2;1;SI(G3=$H$2;1;0))))))+SI(H3=$H$2;0;SI(H3=$C$2;1;SI(H3=$D$2;1;SI(H3=$E$2;1;SI(H3=$F$2;1;SI(H3=$G$2;1;0)))))))

L'une comme l'autre amène au même message.
Un grand merci de vos réponse, même si la solution n'est pas encore trouvé, ça élargit mon champ d'horizon.

J'ai mis en pièce jointe le fichier en ébauche. Cela concerne la feuille difficile pour K2.

Cordialement.

Clémence
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
0
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
Alors, ça fonctionne très bien pour les nombres bien placé, je fais changé la formule que j'avais !
Mais pas pour la deuxième partie de tableau... Je ne parviens pas à envoyer le fichier !
Merci de vos réponses
0
Raymond PENTIER Messages postés 58993 Date d'inscription   Statut Contributeur Dernière intervention   17 366 > clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
 1) Tu vas dans https://www.cjoint.com/ 
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
0
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
https://www.cjoint.com/c/FJhooVSFpZz

Voilà ! Merci de votre aide
0

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

Posez votre question
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Il n' a pas pire aveugle que celui qui ne veut voir.
0
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Vu que tu n'as fait aucun commentaire sur ma proposition aucune raison que j'ouvre ton fichier.
Continue avec ta formule à 566 caractères puisque celle à 27 n'a pas l'air de t'intéresser.
eric
0
clemsoo15130 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Comme je l'ai dit, je suis débutante, et n'ai pas compris de quoi vous vouliez parlé. Merci quand même.
0