Autres Trouver deux fractions dont la somme vaut une fraction

eriiiic

XLDnaute Barbatruc
Un exemple de code dans la macro :
VB:
cible1 = [G2].Value
elle doit trouver la cible dans G2 et nulle part ailleurs.
Si tu insères une colonne C, G2 deviendra H2 mais la macro continuera à rechercher la cible en G2 tant que tu ne l'auras pas modifiée.
Les emplacements fixes cités ne doivent donc pas bouger.

Pour ce qui est de B, la macro va relever toutes les valeurs à partir de B2 et s'en servir comme données des plateaux.
Tu y mets donc tous les plateaux (nombre de trous) qu'elle peut utiliser et rien d'autre.
Si tu laisses une cellule vide dans la liste ou un texte elle n'aimera pas.
C'est plus clair pour toi ?
 

eriiiic

XLDnaute Barbatruc
Il y avait bien une petite erreur qui faisait ne plus ressortir les solutions négatives -k1 -k2
Du coup il ne semble plus y a avoir de solution de sens opposés améliorant les 2 précédentes.
Ca tombe bien, elles ne t'intéressaient que moyennement.
Je les ai laissées dans cette version des fois que tu trouves une anomalie.
Les solutions sont maintenant en 4 paquets qui ne seront plus que 2 à terme si tu confirmes.
eric
 

Fichiers joints

GUGUSSE2

XLDnaute Junior
Pour ce qui est de B, la macro va relever toutes les valeurs à partir de B2 et s'en servir comme données des plateaux.
Tu y mets donc tous les plateaux (nombre de trous) qu'elle peut utiliser et rien d'autre.
Si tu laisses une cellule vide dans la liste ou un texte elle n'aimera pas.
C'est plus clair pour toi ?
Ce qui veux dire que je peux "réécrire" la colonne "B" à partir de "B2" avec les valeurs que je veux, même si je dépasse la case "B19" ou si je ne vais pas jusque là, vrai ?

Expliques moi à quoi correspondent les 4 colonnes de résultats (je vois "même sens + 1 tour" et "2" sur la ligne "tours" ! !)/.
1574075269031.png
Comment calcules-tu de "delta" ?
 
Dernière édition:

eriiiic

XLDnaute Barbatruc
Bonjour,

Ce qui veux dire que je peux "réécrire" la colonne "B" à partir de "B2" avec les valeurs que je veux, même si je dépasse la case "B19" ou si je ne vais pas jusque là, vrai ?
Tout à fait, tu y mets ce que tu veux, dans l'ordre que tu veux, tant que ce sont des nombres. La macro s'adaptera.

Expliques moi à quoi correspondent les 4 colonnes de résultats (je vois "sens positif et des valeurs en rouge !)/.
Même sens et sens opposés concerne le signe des quotients : ++ , -- , +-
En rouge ce sont les négatifs, tu as demandé additions ou différences
positif/négatif concerne le signe de la somme. Au final on a avancé ou reculé.
Le fond rouge correspond à une somme négative. C'est pour alerter qu'il faudra faire un tour de plus que la partie entière puisque le résultat se soustraira du nombre de tours.

Comment calcules-tu de "delta" ?
Ca n'a pas changé depuis que tu as déjà demandé...
eric
 

eriiiic

XLDnaute Barbatruc
Ni l'un, ni l'autre. Je pense qu'on ne calcule pas la même chose.
Je reste sur le pb initial : trouver une somme de fractions la plus proche d'une autre fraction en respectant les critères fournis.
Je cherche donc à me rapprocher le plus possible de la fraction initiale. Pour ça cet écart me suffit et nul besoin de calculer quoique ce soit pour 360° ou autre chose.
Si toi tu en as besoin, et bien tu le calcules à partir des données : les 3 fractions et peut-être le diviseur.
Ca c'est ta partie, moi je n'y connais rien...

Pars de la solution proposée sans te préoccuper de mes calculs.
La question à se poser est : est-ce que les résultats proposés répondent à ta problématique ? Si oui, j'ai fini.
A moins d'une grossière erreur que je ne vois pas, ça devrait être ok.
J'explore toutes les possibilités et je retiens les solutions se rapprochant le plus.
 

GUGUSSE2

XLDnaute Junior
@eriiiic ,

J'ai essayé de regarder comment fonctionnait ton programme, mais je suis perdu dans le "VBA", donc je te fait confiance.
Je n'ai pas encore d'éléments de comparaison, mais ce programme parait correspondre à mon attente.
 

eriiiic

XLDnaute Barbatruc
Bonjour,

je pense que tu peux vu que j'explore toutes les combinaisons des plateaux pris 2 à 2, et toutes les possibilités de trous pour chaque plateau, pour ne retenir que la somme des quotients la plus proche de la fraction initiale.
Difficile de passer à coté s'il n'y a aucun trou dans la raquette.
eric
 

GUGUSSE2

XLDnaute Junior
Cela me paraît une solution démesurée au regard du problème.
Hors mis les solution "EXACTES", les solutions approchées à 0,0001 devrait satisfaire les amateurs (en usinages) que nous sommes.
 

eriiiic

XLDnaute Barbatruc
Démesurée, je ne sais pas, mais faute d'un autre algorithme il n'y a pas le choix.
Surtout que c'est assez rapide donc pas de raison de se prendre la tête.
Je peux t'afficher des solutions plus mauvaises si tu veux, ça je sais faire :)
Plaisanterie mise à part, on pourrait ajouter une colonne avec la meilleure solution avec 1 plateau.
A toi de calculer la tolérance et voir si tu peux la retenir.
eric
 

GUGUSSE2

XLDnaute Junior
Je te livre l'avis d'un expert en la matière :

"La solution en rouge que donne eriiiic ne sert à rien. C'est comme si tu disais j'ai deux points sur le cercle: un à -pi/4 et l'autre à + 3*pi/4.

En plus il indique les erreurs en valeur absolue. Quelle horreur. Cela ne sert à rien."
Contentons nous de travailler en "++" ou "+-".
 

eriiiic

XLDnaute Barbatruc
Et bien ton expert aurait dû rédiger un cahier des charges clair et complet, il aurait été suivi.

C'est comme si tu disais j'ai deux points sur le cercle: un à -pi/4 et l'autre à + 3*pi/4.
Là il faudrait qu'il s'explique.
Si ces 2 points sont identiques, pour moi c'est différent s'il est obtenu soit en avançant de 3/4 de tour, soit en avançant d'un tour puis en reculant d'1/4 de tour. Le signe indique le sens de rotation qui, me semble-t-il, a son importance.
Mais bon, je ne suis pas expert et ne peux pas deviner quelles solutions sont utiles, réalistes, ou pas...

En plus il indique les erreurs en valeur absolue.
Pour avoir la valeur la plus proche il est nécessaire de travailler avec la valeur absolue.
Pas de grande difficulté pour un expert à ajouter une ligne de code pour visualiser la valeur réelle.
eric
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas