Remplissage d'un tableau via une fonction d'un autre onglet

Bonjour le forum,

J'ai de nouveau besoin de votre aide.

Dans mon fichier, j'ai créé un onglet (Fonction) qui calcule une formule (beaucoup plus complexe dans la réalité).

Dans un autre onglet (sortie), j'ai un tableau avec les données d'entrées (R et I), et je voudrais que dans la 1é colonne(U=) s'affiche le résultat via l'utilisation de la fonction.

En gros, pour chaque ligne, dans la colonne A, je veux dire à excel

prends la valeur de la colonne B, injecte la dans le 2é colonne de la fonction, puis prends la valeur de la colonne C, injecte la dans la 3é colonne de la fonction, et donne moi le résultat

J'espère que je suis clair dans ma demande.

Merci d'avance.

19classeur1.xls (18.00 Ko)

Bonjour jaco,

U=RI, ètes vous électricien?

Votre fonction complexe, c'est quoi?

Juste pour ne pas avoir à recommencer plusieurs fois ce que l'on pourrait faire en une fois

Non, je ne suis pas électricien, c'était juste pour l'exemple.

La fonction fait appel à des renvois de cellules en cascades, beaucoup trop difficile pour moi à reprogrammer en macro, et suffisamment confidentiel pour ne pas le diffuser sur internet.

C'est pourquoi la solution la plus simple me semble être ma question, avec le remplissage du tableau.

Merci d'avance

Personne ne peut m'aider???

Bonjour,

Je crois qu'il y a un problème de langage au départ, qu'il faut clarifier pour voir si l'on peut aboutir à une compréhension du problème...

D'abord, Fonction : dans le domaine qui nous occupe (pour ne pas entrer dans toutes les acceptions du terme), une fonction est un composant qu'Excel met à notre disposition pour opérer des calculs, ce composant est destiné à renvoyer un résultat sous certaines conditions d'utilisation.

La première condition d'utilisation est de l'insérer dans une formule, seule ou accompagnée d'autres éléments pouvant figurer dans une formule : des opérateurs, des valeurs ou des références à des valeurs. La seconde condition étant de respecter une syntaxe prédéfinie particulière à chaque fonction lors de son utilisation dans une formule.

Il ne faut pas confondre formule et fonction. La fonction est un élément inerte en dehors d'une formule (comme un appareil qui ne fonctionnera que si on le raccorde à une source d'énergie...)

Une fonction peut être utilisée la où l'on veut, dès lors que l'on peut y taper une formule. Sur ton onglet Fonction, on peut constater que tu as placé une formule, en A2, qui utilise des données figurant sur la feuille, les appelant par la référence de leur position, et un opérateur (*), mais aucune fonction.

Une formule ne bouge pas, on la place dans une cellule, elle y reste jusqu'à ce qu'on l'efface, elle renvoie un résultat qui s'affiche, si elle le peut, sinon une valeur d'erreur. Elle utilise des éléments pour renvoyer son résultat, et si son résultat peut être réutilisé dans une autre formule, elle-même en tant que formule, n'est pas utilisable ailleurs !

Ainsi dans ton onglet sortie, tu fais état de deux données à partir desquelles tu veux obtenir un résultat. Pour ce faire, il faut écrire une formule susceptible de renvoyer le résultat voulu. Tu demandes d'utiliser une fonction. Laquelle ? Il faudrait en avoir une déjà, puisque ce quoi tu fais référence n'est pas une fonction...

Tu parles en outre de colonnes d'une fonction (qui n'existe pas) ! Une fonction n'a pas de colonne ! C'est un composant logiciel destiné à renvoyer un résultat et qui s'utilise selon la syntaxe prévue par le concepteur.

Si les fonctions nativement disponibles dans Excel ne répondent pas à ton besoin, tu peux toujours utiliser VBA pour construire une fonction personnalisée dont l'utilisation sera analogue à celle des fonctions existantes...

Mais dans tous les cas il faudrait savoir quel est le résultat recherché, à partir de quoi... car pour l'instant je ne vois aucune possibilité de répondre à ta demande telle qu'elle est formulée.

Cordialement.

Merci MFerrand, pour ta réponse.

Effectivement, il y a probablement une erreur de ma part en terme d'explication du problème et de vocabulaire (utilisation des bons termes).

Dans le nouveau fichier joint, je pense (j'espère) avoir clarifié mon besoin.

Par fonction (ce n'est peut-être le terme approprié), j'entends une "boite" dans laquelle j'injecte des données (R et I) et qui me donne un résultat (U) en fonction de son paramétrage (formule).

Au lieu de programmer chaque cellule, je fais appel à cette boîte "magique", en lui donnant les données d'entrées (R et I), et elle me donne directement la réponse.

Je sais que cela est possible sous Matlab et R, pour éviter de répéter des lignes de code, mais je sais pas comment faire sous Excel.

Merci d'avance pour votre aide.

16classeur2.xlsx (12.01 Ko)

Tu ne t'es pas trompé de fichier ! Tu mets fichier d'un problème traité, et sans correction de l'erreur résiduelle... !

La notion de "boîte" convient bien, mais comme j'ai déjà tenté de l'expliquer, une formule ne peut constituer une telle "boîte". Une fonction le peut, mais encore faut-il en disposer, et elle ne pourra être utilisée que dans une formule.

Ce que tu évoques "pour éviter de répéter des lignes de code" est une façon normale de programmer, on crée des fonctions (si un résultat doit être renvoyé) qu'on peut appeler de façon répétée, ou des sous-routines (si pas besoin de recueillir un résultat) qui peuvent être exécutées de façon répétée, et éventuellement actionnées avec des paramètres différents... On ne reprogramme pas en série les mêmes actions...

Il en est de même en VBA... mais pour construire ta "boîte" il faut savoir ce qu'elle doit faire !

Bonjour,

Voilà ce que je voudrais (voir fichier ci-joint).

J'envoie 2 valeurs dans les cellules d'entrée d'un tableau, ça calcul et tout ça, et je récupère la valeur de sortie qui remplie une cellule de mon tableau.

Et on passe à la ligne suivante, etc....

11classeur2.zip (4.56 Ko)

Bonjour,

Je retombe sur ce sujet en triant... On revient au point de départ !

Ce que tu veux c'est une fonction, que tu puisses mettre en formule en A2, A3, etc.

Sous la forme : =MaFonction(B2;C2), et qui te renvoie le résultat !

Il faut tout bêtement la programmer, mais pour cela savoir ce qu'elle doit faire...

L'idée de passer par une autre feuille, à oublier, c'est tout au plus une métaphore. Cela ne fonctionne pas comme ça. La boîte noire, elle reste virtuelle, tu l'appelles, elle répond, tu ne la vois pas.

Ton exemple reposant sur une simple multiplication... La fonction existe déjà ! Soit tu dis ce que tu veux exactement, soit aucune réponse ne peut être apportée...

Cordialement.

Rechercher des sujets similaires à "remplissage tableau via fonction onglet"