Fonction si.multiple ou autre

Bonjour à tous!

Je me présente, je m'appel damien, 31 ans de Dijon.

Je me permet de sollicité votre aide car j'ai l'impression de me lancer dans quelques chose de fastidieux, et avant de le faire j'ai besoin de conseil pour surement m'éviter de perdre de nombreuse heures.. J'ai quelques notion Excel mais j'avoue que la je sèche.

1 / Mon problème est que j'utilise la fonction si ou si.multiple, mais j'espère trouver plus simple.

C'est un tableau qui doit donner des notes standard ( note sur 20) en fonction d'un résultat noté (qui peut aller de 0 à plus de 99)

Ces résultats sont noté dans un tableau dans un onglet à part. Existe t il des formules aidant à faire le rapprochement avec le tableau?

2/ La ou cela se complexe, c'est que les tableaux de notation changent en fonction de l'âge. si cela ne complique pas trop, peut on faire que Excel se sert du bon tableau en fonction de l'âge que l'on note? Si cela est trop compliquer, me servir de plusieurs onglet avec le problème 1 résolu m'aidera déjà enormément!

Je vous joint le fichier que j'ai commencé à faire.

J'espère avoir été assez claire, et je reste disponible si vous avez besoin d'information complémentaire.

Merci d'avance à vous tous!

Bien à vous,

Damien

Bonjour,

difficile de te guider sans tout faire puisqu'il s'agit d'une formule relativement complexe à construire.

Feuille Note standard :

Tes tableaux de note doivent être sur la même feuille (trop de complications et formule imbuvable sinon)

J'ai mis les 4 premières tranches en la colonne A, compléter.

Compléter aussi liste en N1

Dans tes tableaux il faudra mettre ce que tu veux que la formule te retourne pour les "-". Sinon elle te retournera le "-"...

Feuille Notation

je me suis mis en F5:F6

Je ne comprend pas que tu trouves 16 pour dm1.1, moi je lis 17 dans le tableau de notes.

Si tu maintiens il faudra expliquer.

Explication formule :

il s'agit de partir de la cellule 'Note standard'!$A$1 et de la décaler :

  • en ligne en fonction de la tranche d'age et de la note brute.
  • en colonne en fonction de l'item.
Ce sont les fonctions Equiv() qui recherchent où se trouvent ces valeurs et qui fournissent l'ajustement à applique à ligne/colonne

eric

Bonjour Eric,

Merci de ta réponse rapide et tardive, je t'avouerai avoir vu ta réponse hier mais mon cerveau ne pouvais plus autant réfléchir à cette heure ci

Je te répond à ton message en essayant de faire le plus clair possible

Je me suis surement mal expliqué vis a vis du tableau, en fait la note brut est dans le tableau"note standard" en colonne B à K, et la note standard est la colonne A du tableau "note standard" (il se lit dans le sens inverse que tu l'a lu).

Exemple en dm1.1, si l'enfant à entre 0 et 9 point, cela lui donnera la note de 16.

Exemple en dm2.1, si l'enfant à entre 41 et 47, cela lui donnera la note de 12.

J'ai bien compris que cela serait complexe, j'envisage donc de faire 16 fichiers qui se nommeront "tableau 3 à 3,5 ans", Tableau 3,6 à 3,11ans", ... que je mettrais dans un dossier, et j'ouvrirai le fichier correspondant à l'âge de l'enfant. Je pense que cela facilitera grandement la tache.

Je te rejoins un fichier plus petit avec juste deux onglets, fichier que je multiplierais en 16 pour chaque tranche d'âge, en modifiant que le tableau de "note standard".

J'espère avoir été assez clair, et te remercie par avance de ton aide!

Bien à toi,

Damien

Bonjour,

ah ouais, c'est chaud par formule.

En plus je viens de voir que si c'est croissant pour dm, c'est décroissant pour les autres...

Ca sera donc une fonction personnalisée.

Syntaxe sur feuille :

=noteStandard(tranche, item, note)

Si tranche ou item non trouvé => "ano."

Si note absente => "" , d'où le =SOMME(D5;D6)/2 au lieu de de =(D5+D6)/2 pour éviter le #VALEUR

Accepter les macros à l'ouverture et garder l'extension .xlsm

On reste sur tous les tableaux dans une feuille unique.

Pas eu le courage de tester moultes cas de figure, je te laisse ce soin

eric

Bonjour Eric,

Je ne te snobe pas promis, j'ai voulu avancer un peu sur la tableau que tu as fait avant de revenir vers toi, mais avec un bébé en bas âge c'est compliquer de prendre du temps pour réfléchir

En tout cas merci beaucoup, ça marche super bien avec tes formules!

J'essaye de comprendre mais je ne vois pas ta macro, car je t'avoue que c'est interessant de savoir comment tu as pu faire ça, surtout que je devrais le reproduire pour un "dernier petit tableau".

Est il possible qu'on regarde ça ensemble histoire que je comprenne bien la démarche?

J'ai rajouter un tableau en bas des 16 déjà présent, qui donneront une note standard en fonction d'une valeur, ainsi qu'un pourcentile correspondant. Mais je n'arrive pas a faire ce que tu as fait pour les autres tableau.. peut tu m'aiguiller sur ce point?

Merci beaucoup de ton aide précieuse !

Damien

Bonjour,

Alt+F11 pour aller dansq VBE (l'éditeur VBA)

La fonction est dans le module1 (double-cliquer dessus dans l'explorateur de projet à gauche) pour voir le code.

J'ai fait un simple F9 et les #VALEUR se sont calculés.

Mais je vois que tu es sûr Mac, peut-être une instruction qu'il ne connait pas.

Clique sur le bouton de test et dis-moi ce qu'affiche la boite de dialogue stp

J'en teste 3

eric

Je ne pensais pas qu’entre un ordinateur Windows et Mac ça changé beaucoup de choses…

Quand j’ouvre le fichier, j’ai un message d’alerte qui s’affiche en me disant qu’ils ont un problème dans le contenu du tableau mais qu'ilpeut essayer de le récupérer. Ensuite je suis obligé de l’ouvrir en lecture seule pour afficher le contenu non pris en charge du fichier, et un message d’erreur s’affiche en me mettant l’emplacement ligne 2 colonnes 79.

Pour ton bouton test, en cliquant dessus je peux juste le déplacer et rien d’autre :/

J'ai bien réussi par contre à ouvrir la macro du fichier que je t'es envoyé précédemment

Arf, ben oui

Je t'ai bêtement mis un bouton ActiveX, alors que je sais pertinemment que Mac ne les connait pas.

Voir nouveau fichier

Je ne sais pas trop comment ça se passe sur Mac mais tu acceptes bien les macros à l'ouverture oui ?

Parce qu'une fonction inconnue devrait te retourner un message d'erreur vba, pas un #VALEUR en retour

oui j'ai bien accepté les macros. Ton nouveau bouton test fonctionne bien cette fois ci

Bonjour,

mais il te dit quoi ???

A moins que la fonction fonctionne maintenant...

eric

Bonjour Eric,

J'espère que l'on se comprend bien. Quand je clique sur ton bouton test, le message "ok" apparait dans la boite de dialogue. C'est ça la réponse à ta question ou il faut que je fasse d'autres manip?

Merci à toi,

Damien

Bonjour,

oui, c'est que je voulais savoir. Je testais certaines fonctions dont Split(), j'ai un doute sur Mac

Mais maintenant la fonction marche chez toi ou pas ?

eric

dans ton tableau cela marche (si je tape 5 en fonctionne l'endroit cela me donne la note correspondante)

Cependant, dans le fichier "EN COURS tableau exemple aide 1.1.xlsm", il faut que je copie ta formule du tableau précédent et que je l'adapte c'est bien ça?

Ca me parait évident que pour qu'une fonction retourne le bon résultat il lui faut les bons paramètres.

Quel est le problème si tant est qu'il y en ait un ?

J’ai refais un tableau (en A338 de l’onglet « note standard »), et j’aurais voulu faire le même principe que ta macro précédente pour que les résultats s’affichent en H/I5, H/I10, H/I14 et H/I17 de l'onglet "notation". Sachant que ce serais des « valeurs fixe », non changeante comme celle précédemment. J’aurais aimé savoir la démarche a suivre pour le faire, histoire que mon tableau soit fini et que je comprenne un peu plus tes démarches.

Merci d’avance à toi,

Damien

Heuuu, j'étais vraiment sensé pouvoir deviner tous ces changements ???

Non, une fonction est pour un contexte précis.

Il faut soit la modifier pour la rendre plus versatile en fonctions des paramètres, soit en créer une autre sur le même principe.

1) Ca sera la même grille pour les 3 types de test ?

2) plus de notion d'age ?

3) Et pour ta note totale une autre grille ? Sinon quelle colonne utiliser ?

C'était le fichier du 14 avril 2020, à 10:37. Je m'étais surement mal expliquer..

Quoi qu'il en soit, ce sera la même grille pour chaque test, sans notion d'âge.

En H6 de l'onglet "notation", le nombre afficher sera celui de la colonne B340 à B358 de l'onglet "note standard" (vis à vis de C340 à C358)

En I6 de l'onglet "notation", le nombre afficher sera celui de la colonne F340 à F358 de l'onglet "note standard" (vis à vis de C340 à C358)

En H10 de l'onglet "notation", le nombre afficher sera celui de la colonne B340 à B358 de l'onglet "note standard" (vis à vis de D340 à D358)

En I10 de l'onglet "notation", le nombre afficher sera celui de la colonne F340 à F358 de l'onglet "note standard" (vis à vis de D340 à D358)

En H14 de l'onglet "notation", le nombre afficher sera celui de la colonne B340 à B358 de l'onglet "note standard" (vis à vis de E340 à E358)

En I14 de l'onglet "notation", le nombre afficher sera celui de la colonne F340 à F358 de l'onglet "note standard" (vis à vis de E340 à E358)

Pour finir, en h17 de l'onglet notation, le nombre à afficher sera celui de la colonne B362 à B380 de l'onglet "note standard" en fonction du résultat en colonne C, et en I 17 celui de la colonne D.

J'espère avoir été aussi clair que possible, et te remercie encore une fois par avance,

Damien

Ps, utilise ce fichier joint

Purée, il ne faut pas passer toute la feuille en format Texte.

Du temps de perdu pour comprendre ce qu'il se passait...

Suite...

Comme tu t'en doutes, les libellés sont la base pour retrouver la bonne valeur.

Seulement ceux de tes nouveaux tableaux ne se retrouvent pas dans l'environnement proche de l'utilisation.

J'ai retouché la fonction personnalisée pour qu'elle traite plus de cas

La tranche (nom du tableau en colonne A) je la met donc en dur dans la formule : "Conversion" et ""NOTE FINALE"

L'item est traité par la fonction si elle trouve un "(" dedans.

De G4 ("Dextérité manuelle (DM1+DM2+DM3)") elle en tire "Dextérité manuelle"

Par contre pour la note totale il était délicat pour la compréhension d'aller chercher "Dextérité manuelle (DM1+DM2+DM3)" en G4

J'ai donc mis en dur "Dextérité manuelle" dans la formule.

En plus ça te permettra peut-être de mieux comprendre le rôle et le but de ces paramètres, c'est plus visuel.

Pour ce qui est du percentile, j'ai ajouté un 4ème paramètre optionnel qu'il faut mettre à VRAI.

Le voyant, la fonction sait qu'elle doit aller chercher le résultat à retourner dans la dernière colonne.

Remarque :

Ta note finale se trouve à cheval entre 2 valeurs dans le tableau.

Comme 47.5 n'est pas supérieur à 48, mais est supérieur à 42, la fonction te retourne 2.

Si tu voulais 3 utilise un arrondi en G17

eric

Bonjour Eric,

J'avoue, je plaide coupable pour le format texte

En effet en regardant ta macro, je pensais comprendre un peu mais ça reste assez flou! Je vais essayer de m'y mettre un peu plus sérieusement pour connaitre et comprendre ces codes...

Je vais finir de remplir les tableaux pour pouvoir faire un test en "réel", et je reviens vers toi te faire un petit récapitulatif si cela te conviens.

Je m'excuse pour ne pas être super "réactif", mais c'est compliqué d'avoir quelques heures à tête reposé pour moi en ce moment

Quoi qu'il en soit, merci beaucoup pour ton aide précieuse

Damien

Rechercher des sujets similaires à "fonction multiple"