Vérification d'équations du 1er degré

  • Initiateur de la discussion Initiateur de la discussion CISCO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CISCO

XLDnaute Barbatruc
Bonjour à tous

Je cherche une combine pour transformer du texte (une équation du premier degré) (par ex en A1) en un test (si l'équation est vérifiée, écrire vrai, sinon...) (par ex en C1) sans avoir à retapper, ni à coller, l'équation dans le test.

Exemple

....I.....A..... .....I.......B.........I......C
1 I 2*x+45 = 12 I =(12-45)/2 I VRAI

Bien sûr, cela ne pose pas de problème, en ayant nommé x la cellule B1, et en écrivant dans le test l'équation, comme ci-dessous, le premier "=" de C1 équivalent à un SI.

....I.....A..... .....I.......B.........I......C
1 I 2*x+45 = 12 I =(12-45)/2 I =2*x+45 = 12

Mais comment faire pour généraliser la chose, sans avoir à retapper l'équation, les équations ?

J'ai réussi à faire le contraire (tapper le test en C1, et faire apparaître automatiquement l'équation en A1), mais cela ne me permet de généraliser correctement mon travail.

L'objectif final est de faire une feuille de calcul aidant l'utilisateur à se former en algèbre.
Le formateur rentre les équations dans la première colonne, la solution dans une colonne cachée qu'il nomme x. L'utilisateur doit trouver la valeur de l'inconnue x et pour cela, il tappe ses calculs intermédiaires dans diverses cellules. Le test vérifie au fur et à mesure la validité de tout les calculs intermédiaires.

Cela ne montrerait pas à l'utilisateur où se trouve l'erreur (un + au lieu d’un -, une fraction inversée…), mais dans quelle équation elle se trouve.

EXEMPLE
feuille initiale
....I.....A..... .....I.......B.........I......C ....... I....... D
1 I 2*x+45 = 12 I ............. I ........... .. I .......

1ère étape
....I.....A..... .....I.......B.........I......C ....... I....... D
1 I 2*x+45 = 12 I 2*x=12-45 I ........... .. I.... VRAI
2

2ème étape
....I.....A..... .....I.......B.........I......C ....... I....... D
1 I 2*x+45 = 12 I 2*x=12-45 I x=(12-45)/2 I.....VRAI
2


ou en cas d'erreur
2ème étape

....I.....A..... .....I.......B.........I......C ....... I....... D
1 I 2*x+45 = 12 I 2*x=12-45 I x=12-45/2 ... I......FAUX
2

En résumé, il s'agit, non pas de trouver la solution à une équation du 1er degré, mais de dire à l'utilisateur de la feuille Excel si le ou les calculs intermédiaires correspondants à l'équation sont justes. Problème : on ne sait pas à l'avance la méthode utilisée par cet utilisateur !

Auriez-vous une astuce ? Ce mini-programme, si il existait, serait certainement très intéressant pour les professeurs de mathématiques de collège, et à tout les gens un peu allergique à l'algèbre pour se former.

Excuser moi pour la longueur de ce message.

Grand merci d'avance.

P.S : Merci à Celeda. Je m'étais trompé de "porte" : c'est pas là, ni là. Je suis débutant sur ce forum et il faut s'habituer aux fenêtres, au langage... Et maintenant, je ne trouve pas comment joindre une pièce à cette question !!!
Remerci.
 
Re : Vérification d'équations du 1er degré

Bonsoir à tous,

voici une proposition de solution qui passe par les fonctions EVAL et substitue().
comme tu as parfois des "/x" qui posent des problèmes de précision dans l'EVAL(), j'ai choisi de mettre les solutions sous forme litérale, une fois pour les opérateurs *, -, + et une fois pour la division en inversant pour ce dernier cas la valeur de remplacement.

donc, quand l'opérateur n'est pas une division, le substitue() porte sur "x" et quand l'opérateur est la division, il porte sur le "/x" remplacé par le "*" suivi de la solution inversée.

je n'ai pas testé la robustesse de la pièce jointe. à toi de voir

A+
 

Pièces jointes

Re : Vérification d'équations du 1er degré

Bonjour et merci ODVJ,

malheureusement je n'ai pas la fonction EVAL sur mon ordi !

Que faire?

Ci-joint, une nouvelle feuille excel résumant, et j'espère, expliquant beaucoup plus simplement ma question initiale.

Merci
 

Pièces jointes

Re : Vérification d'équations du 1er degré

Salut le fil, CISCO,ODJV,mjo,

juste pour aider
https://www.excel-downloads.com/thr...artir-dun-classeur-ferme-et-oui-encore.67967/

j'ai trouvé sur Internet une petite fonction personnalisée : EVAL 🙂


Citation:
Exemple d'utilisation de "EVAL" :
En A1 un nombre : 25
En A2 du texte : (2*A1)-7
En A3 la formule : =eval(A2) -> résultat : 43


Alt-F11, Insertion / module, copier ce qui suit :

Public Function eval(inp)
Application.Volatile
If Left(inp, 1) <> "=" Then inp = "=" & inp
eval = Application.Evaluate(inp)
End Function

Salutations
 
Dernière édition:
Re : Vérification d'équations du 1er degré

Bonjour à tous,

merci à Celeda, mjo, ODVJ, foufoudra et à tous ceux grace à qui se forum tourne...

J'ai la réponse à ma question... Je ne connaissais pas la fonction EVAL...

Ci-joint un exemple de fichier fait grâce à vos informations. Si vous connaissez dans votre entourage quelques collégiens un peu allergiques à l'algèbre, voila un moyen pour essayer de les motiver...

Merci ODVJ. Je n'ai pas tenu compte de tes remarques au sujet de "/x" pour le moment, car cela à l'air de tourner correctement sans. Toutefois, méfiance. j'ai déja eu des problèmes avec ce genre de fichier pour des différences de l'ordre de 10^-8...

Il y a encore certaines améliorations possibles, des points de vue ergonomique et matheu (domaine de définition, erreur liée aux arrondis), mais bon, pour le moment...

Entre autre, comment pourrait-on trouver la solution x (cachée dans la colonne H) sans faire de calcul, sachant qu'on a uniquement des équations du 1er degré, mais qu'elles sont initialement écrites sous des formes plus ou moins "tordues", avec x parfois au dénominateur, pas toujours seul d'ailleurs (25 /(8*x) ou 100/(x + 5) par ex), ... pas uniquement du style ax + b = c malheureusement ?

Merci d'avance
 
Dernière édition:
Re : Vérification d'équations du 1er degré

Quelques modifs pour éviter quelques affichages indésirables.

Cela tourne pas mal du tout (j'ai testé plus de 160 équations), mais la formule proposée ne semble malheureusement pas totalement "universelle" :

Pourquoi la fonction eval m'envoie t'elle le message faux avec l'équation 6*x + 66 = (16 * x + 6 * x ) * 2, et vrai avec 3*x+33=(8*x+3*x)*2 avec la solution x = 66/38, alors que ce sont les "mêmes" équations (cf à la fin du fichier ci-joint quelques exemples)?
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour