Excel : utiliser une formule mathématique

Fermé
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 - 6 nov. 2009 à 10:53
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 - 6 nov. 2009 à 12:11
Bonjour,

Sous excel, je travaille avec une formule mathématique y = f (x)
Imaginons y = x+2

j'ai besoin de tracer le graph correspondant.
je connais le systeme classique :
- dans une colonne, on inscrit tous les x
- dans une seconde colonne, on calcule y avec la fonction f dans la première case, et on utilise la poignée pour répéter la formule dans toute la colonne
on aurait alors :
B1 = A1 + 2
B2 = A2 + 2
B3 = A3 + 2
...

si je modifie la formule (par exemple y = x + 4), je suis obligé de modifier dans la première case de la seconde colonne et d'ensuite reproduire la formule sur toutes les lignes de la seconde colonne pour avoir :
B1 = A1 + 4
B2 = A2 + 4
B3 = A3 + 4
...

d'où ma question :

n' y a t il pas moyen d'écrire la formule f dans une seule case, et qd on la modifie, tous les y sont alors recalculés automatiquement ?

la colonne des x ne serait pas modifiée, mais dans la colonne des y , on aurait par exemple :
B1 = f (A1)
B2 = f (A2)
B3 = f (A3)
....

merci d'avance
A voir également:

5 réponses

dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 829
6 nov. 2009 à 11:22
bonjour

1) si la formule a toujours la meme forme comme dans l'exemple, alors mettre les paramètres en "variables" :
B1 = A1 + $C$1
B2 = A2 + $C$1
B3 = A3 + $C$1 , où C1 possède le paramètre a faire évoluer.

2) si la formule doit changer de forme, alors il peut etre intéressant de creer une fonction spécifique qu'on peut donc modifier très simplement :

dans un module (comme une macro) écrire le code de cette fonction (que j'ai appelé formule dans l'exemple ci-dessous)

Function formule(donnée1, donnée2,...)
formule = "ce qu'on veut : ne pas oublier de mettre dans l'entete toutes les donnée1, donnée2,.. nececessaire"
End Function


Ensuite, dans la feuille excel, l'utiliser comme une fonction "classique" :
si les données sont en A1 et A2, par exemple, alors il faut écrire dans la cellule où on veut le résultat :
=formule(A1;A2)
...............

pour modifier la formule : aller sur l'onglet de la feuille et "Visualiser le code"

Dans notre exemple cela donnerait

Function formule(variable, a)
formule = variable + a
End Function


et ensuite en B1 = formule(A1;$C$1)
1
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 88
6 nov. 2009 à 11:38
pour le 1), c'est pas ce que je souahite faire

pour le 2), oui c'est çà, ca permettrait de modifier 1 seule fois la formule
par contre, je ne vois pas comment "ouvrir un module" sous excel (excel v 97)
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 829 > ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013
6 nov. 2009 à 11:43
Outil -> marco -> visual basic editor (ALT+F11) pour excel 2003
Ensuite dans l'éditeur : Insertion -> module
0
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 88 > dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013
6 nov. 2009 à 11:55
ok c bon ca marche ;)
merci
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 829 > ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013
6 nov. 2009 à 11:58
ceci dit je suis parti sur les fonctions car je suis dedans en ce moment mais la solution de zavenger est plus simple pour ce genre de chose....
0
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 88 > dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013
6 nov. 2009 à 12:11
oui je suis d'accord, mais au moins j'aurai appris 2 façon de procéder, à adapter en fonction des besoins ;)
0
manet61 Messages postés 202 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 9 juin 2018 179
6 nov. 2009 à 11:24
Bonjour,

Il faut dans votre formule mettre la variable dans une cellule isolée et dans votre formule prendre ses références en valeurs absolues (c'est à dire que sa valeur restera constante queque soit la position du curseur)

Exemple si le chiffre qui doit changer (le 2, 4 ,etc) mettez le dans une cellule libre (par exemple C1) il faut écrire votre formule de la façon suivante:

B1 = A1 + $C$1) en reproduisant votre formule vers le bas cela deviendra:
B2 = A2 + $C$1
B3 = A3 + $C$1

Cordialement
1
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 88
6 nov. 2009 à 11:40
merci mais en fait, ce sera pour des formules mathématiques plus complexes, et ainsi, ca ne marche pas
par contre, je souhaite faire ce qui a été répondu en message #2
merci qd meme
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
6 nov. 2009 à 11:26
Bonjour
Une des reponses a ta question est la definition d'un 'nom' (sous excel 2003, Inserer, Nom, definir)
Qui te permet de definir ta fonction perso.

Dans ton exemple, tu te positionnes en B1 et tu definis donc un Nom FctAEtudier avec comme ref =A1 + 2

Une fois ton nom defini, en B1 tu affectes =FctAEtudier, puis recopier vers le bas pour tout ton tableau.

Si tu veux changer ta fonction a etudier, tu n'as qu'a modifier la valeur de ton Nom
1
ithaque Messages postés 230 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 5 mai 2013 88
6 nov. 2009 à 11:44
ok c'est une autre solution par rapport au message #2

j'ai eu un peu de mal à mettre en place, mais c'est bon, ca marche ;)
merci
0
Celtis Messages postés 5 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 6 novembre 2009 1
6 nov. 2009 à 11:35
Slt,

Pour bloquer une cellule dans une formule, il faut utiliser le $.
Colonne A tes X à partir de la ligne 2, en B ton apllic'. En B1 met ton 2 que tu fera varié (juste la valeur de ta constante). En B2 tape la formule =A2+$B$1 (qui correspond à x + cste) et fais glisser jusqu'à la fin de ta colonne contenant les X. Quand tu change ta valeur en B1 toute ta colonne de Y change en conséquence.

En espérant avoir résolu ton pb.
1

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

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
6 nov. 2009 à 12:06
Salut tout le monde.
Je ne fais que passer.
J'ai vite fait, bricolé ce classeur. Calcul automatique à l'aide d'une macro toute simple. A essayer car je n'ai pas eu le temps de la tester. Eventuellement ça peux être intéressant pour vous.
https://www.cjoint.com/?lgmf0u0FFs
@ +
0