Réaliser un mixage triple sous Libre Office Calc [Résolu]

Signaler
Messages postés
85
Date d'inscription
vendredi 17 octobre 2014
Statut
Membre
Dernière intervention
22 décembre 2020
-
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
-
Bonjour,

Voici mon problème :
J'ai en entré un mixage de pourcentage, par exemple : 55x + 25y + 20z
pour réaliser ce mixage j'ai donc dans Libre Office Calc :
- 3 cases avec les pourcentages (55, 25 et 20)
- 3 cases contenant les valeurs de x, y et z

J'aimerai faire en sorte que lorsque je modifie la valeur de l'une des variables ça mette a jour la valeur des deux autres.
Et lorsque je modifie un des pourcentage ça mette a jour les valeur des trois variables.

Remarque : On peut obtenir une formule impliquant seulement deux variable grâce a un produit en croix, par exemple :
Si 55 -> x On a : x = 55y/25
25 -> y et y = 25x/55

Il s'agirait donc de mettre a jour la valeur d'une case en fonction de plusieurs paramètres (changement d'une des deux autres variable ou du pourcentage associé a la case).

Merci d'avance pour votre aide

7 réponses

Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 075
Bonjour.

Ta demande présente un gros défaut de logique.
"J'aimerai faire en sorte que lorsque je modifie la valeur de l'une des variables ça mette a jour la valeur des deux autres." ; c'est très incomplet, car si je remplace 55 par 10, je peux avoir des dizaines de combinaison pour y et z, par exemple 1 et 89, 2 et 88, 3 et 87 ...
Tu dois donc modifier deux variables, et tu auras immédiatement la troisième.
Ou alors il faut définir une règle de correspondance entre les deux autres,
du genre "Si x est donné, il faut que y = 2/3 (100-z)".
Messages postés
85
Date d'inscription
vendredi 17 octobre 2014
Statut
Membre
Dernière intervention
22 décembre 2020

Bonsoir,

Il n'y a aucuns soucis avec ma définition, vu que la somme des 3 donne 100%, et que l'on sais comment on veut répartir ces 100% (par exemple 55%, 20% et 25%).

Peut être comprendra tu mieux si je dit :
Lorsque l'on sais ce que représente 55% des 100%, alors on peut trouver ce que représente 20%.

Un exemple plus concret : On va prendre un échantillon de 400 000 pour les 100% (on en aura besoin seulement pour la vérification).
Posons ensuite x = 220 000 (doit être entre 0 et 400 000 pour fonctionner)

On a alors :
y = 0.25x/0.55 = 0.25 * 220 000 / 0.55 = 100 000
et
z = 0.2x/0.55 = 0.2 * 220 000 / 0.55 = 80 000

220 000 + 80 000 + 100 000 = 400 000, on a retrouver nos 100% de départ.

Et on a trouver la valeur des deux cases qui m’intéressent. Le problème est : dans Libre Office Calc, comment faire pour affecter ces deux valeurs a leurs cases respective (y et z) sur modification de la case x ?

Merci
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 075

Tu admettras avec moi que ton explication initiale n'était pas très claire.
Par ailleurs tu as déjà donné les bonnes formules, en langage ordinaire ; tu veux juste les écrire en formules utilisables par le tableur ?
Alors en C3 c'est =B3/B2*C2, et en D3 c'est =C3/C2*D2 ...
Je ne vois pas où est la difficulté !
Messages postés
85
Date d'inscription
vendredi 17 octobre 2014
Statut
Membre
Dernière intervention
22 décembre 2020

La difficulté c'est "d'intriquer" les cases de sorte que lorsque l'on change une valeur, peut importe laquelle, ça change les autres cases.

Dans ton dernier exemple z dépend de la valeur de y qui dépend de la valeur de x, donc si on change x, les 3 valeur s'actualisent c'est bon.
Mais si je change y ? x reste le même.
Et z ? a la fois x et y ne se recalculent pas.

Je voudrait que lorsque l'on change une des 3 valeur (x, y ou z, peut importe laquelle) ça recalcule les deux autres valeurs.
Il faudrait enfaite appliquer 3 formules de calculs différentes a une même cellule, 2 en fonction des valeur des deux autres variable, et la troisième en fonction du % et du total.

je voit deux façon de faire ça, mais je ne sais pas les réaliser :
- appliquer 3 formules a une même cellule, et utiliser la bonne formule en fonction de la dernière cellule modifiée dans le .odt

- lorsque l'on modifie la valeur d'une case, modifier la valeur d'autres cases . Par exemple une commande qui se déclenche sur la modification de y, et qui recalcule les valeurs de x et z.

De la même façon, si je change un des 3 pourcentage (peut importe lequel) je voudrait recalculer les x, y et z (ce qui devrait se faire tout seul si on arrive a résoudre correctement le problème juste au dessus)

Et j’admet que dans mon premier message la dernière phrase n'est pas très claire ainsi que les pourcentages. Le reste est un peut général mais clair.
Messages postés
85
Date d'inscription
vendredi 17 octobre 2014
Statut
Membre
Dernière intervention
22 décembre 2020

J'ai trouver comment faire et suit tombé face a un nouveau problème.

Il faut donc aller dans outils -> option -> Libre Office -> avancé -> activer l'enregistreur de macro

Ensuite il faut aller dans outils -> macro -> enregistrer une macro -> faire les action souhaitées

et pour finir faire un clic droit sur l'onglet de notre feuille -> évènement de la feuille -> contenu modifier -> l'associer a la macro créer précédemment.

Jusque la ça marche pour moi, puis quand je modifie la valeur, de prime tout marche.
Puis il se passe un truc : je ne peut plus rien faire, la sélection reviens au point de départ peut importe ou je clique, comme si la macro bouclait a l'infini puis le logiciel Calc crash.
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 075

Si tu veux travailler sur 3 hypothèses différentes, il te faut 3 formules différentes, donc 3 lignes différentes.
En effet la cellule [y] ne peut recevoir à la fois une formule (le cas que j'ai étudié ) et une valeur (l'autre hypothèse que tu voudrais étudier ).
_ B4
| =C4/C2*B2 ...
_ D4
| =C4/C2*D2
_ B5
| =D5/D2*B2 ...
_ C5
| =D5/D2*C2
Messages postés
85
Date d'inscription
vendredi 17 octobre 2014
Statut
Membre
Dernière intervention
22 décembre 2020

J'ai trouver comment faire et suit tombé face a un nouveau problème

Il faut donc d'aller dans outils -> option -> Libre Office -> avancé -> activer l'enregistreur de macro

Ensuite il faut aller dans outils -> macro -> enregistrer une macro -> faire les action souhaitées

et pour finir faire un clic droit sur l'onglet de notre feuille -> évènement de la feuille -> contenu modifier -> l'associer a la macro créer précédemment.

Répéter autant de fois que nécessaire, pour chaque cases.

Jusque la ça marche pour moi, puis quand je modifie la valeur, de prime tout marche.
Puis il se passe un truc : je ne peut plus rien faire, la sélection reviens au point de départ peut importe ou je clique, comme si la macro était appelée a l'infini puis le logiciel Calc crash.
Et même l'envoi du rapport de crash a planté XD
Messages postés
53100
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
15 075
Je ne connais pas les macros ...