Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 calcul avec un userform qui prend en compte l'économie d'échelle

Arch974

XLDnaute Junior
Bonjour,

J'ai déjà un userform1 dans mon fichier qui se trouve dans la feuille "Detail" qui calcule le prix en fonction de la tâche choisit et qui multiplie le ratio correspondant avec la quantité que j'ai rentrée.
J'ai créé une deuxième feuille "Calcul" qui cette fois-ci prend en compte l'économie d'échelle, c'est-à-dire que les ratios vont varier en fonction des quantités qui se trouve dans des tableaux. C'est pour cela que j'ai créé un userform2 pour la feuille "Calcul" et je voudrais que lorsqu'on choisit le type de revêtement dans la liste déroulante modifiable (les choix sont en rouge dans des tableaux) et que je rentre ma quantité, il me calcul le prix en prenant en compte directement le ratio correspondant à la tranche de quantité qui se trouve dans mes tableaux.

Exemple: Dans ma liste déroulante je choisit "revêtement souple" ensuite je rentre ma quantité de 200m² par exemple celui-ci sera multiplié par le ratio qui se trouve dans cette tranche et qui est dans le tableau et m'affichera le prix. Et aussi rajouter un bouton qui lance mon userform2.

Merci d'avance pour vos retours.

Cordialement.
 

Pièces jointes

  • Calcul avec économie d'échelle.xlsm
    51.9 KB · Affichages: 27

Dranreb

XLDnaute Barbatruc
Bonjour.
Non, vous savez, sauf à les produire séparément à partir de données mieux organisées, ce n'est pas très pratique à manipuler, les paquets de plages multiples et les tableaux munis de lignes de différents sortes …
 

Dranreb

XLDnaute Barbatruc
Qu'est-ce que ça signifie au juste 'prendre en compte l'économie d'échelle' ?
Et est-ce que le code indiqué là ne le faisait pas déjà ?
 

Arch974

XLDnaute Junior
Dans la feuille "Detail" l'userform calcul en prenant le ratio qui correspond à la ligne du CIT choisit dans la liste déroulante. Ensuite je me suis rendu compte que le ratio était différent lorsque la quantité changeait, j'ai donc fait dans la feuille "Calcul" des moyennes de ratio en fonction d'intervalle de quantité pour que lorsque on rentre une quantité on sait quel ratio prendre et ainsi pouvoir calculer le prix. Après c'est pas les bon ratio que j'ai mis dans le tableau car ce sont des données de l'entreprise c'était juste pour donner un exemple.
Par exemple quand on achète 5 paquets de carrelage le prix au m2 ne sera pas le même que si on achète 100 paquets
Je sais pas si j'ai été clair ?
 

Dranreb

XLDnaute Barbatruc
Pas tout à fait clair, non.
Pour me le faire préciser le plus simplement, est-ce que 999,999 m² d'un revêtement coutent quasiment le même prix que 1000,001 m² j'espère ?
Auquel cas bien sûr le prix de 1200 m² sera formé de celui de 1000 m² au 1er tarif auquel s'ajoutera celui de 200 m² au second. Je vous écrirai une fonction qui renverra le prix d'une surface donnée. Mais j'aurai besoin non de textes mais des surfaces minimales à partir desquelle les tarifs s'appliqueront pour chaque m² supplémentaire.
 

Arch974

XLDnaute Junior
Pour répondre à ta question non ça ne sera pas le même ratio puisqu'ils ne sont pas dans la même intervalle qui se trouve dans le tableau en jaune.
Le principe est quasiment la même que le 1er Userform sauf que cette fois-ci dans la liste déroulante il n'y aura que 3 choix: sol souple, revêtement dur ou revêtement en faïence. Quand on sélectionne un choix et qu'on rentre une quantité il faudrait juste qu'elle soit capable de reconnaître à quelle intervalle elle appartient pour ensuite l'a multiplié avec le bon ratio. Je t'ai mis le tableau qu'il faut utiliser pour l'userform.
Est-ce que ça te semble faisable ? En soi c'est la même que le 1er userform que tu as créer juste il faut qu'il soit capable de choisir le bon ratio en fonction de l'intervalle où se trouve la valeur qu'on a rentrée.
Merci pour tes retours.
 

Pièces jointes

  • TABLEAU AVEC ECHELLE.png
    9.3 KB · Affichages: 17

Dranreb

XLDnaute Barbatruc
Non, ce n'était pas du tout ma question.
Et encore une fois on ne peut rien faire avec ces textes dans la 1ère ligne, il faut les bornes inférieures en numériques, 0 pour la 1ère, 1000 pour la secondes etc., alors on peut notamment utiliser WorksheetFunction.Match pour trouver la dernière colonne qui ne dépasse pas une quantité donnée.
Mais si on applique le ratio trouvé en dessous à la totalité de la quantité ce n'est pas bon, à mon avis parce qu'il y aura un changement brusque des résultats au voisinage de la borne selon qu'on soit en desous ou au dessus. Il faut donc appliquer les ratio différents de chaque tranche entièrement couverte jusqu'à atteindre la quantité totale.
 

Arch974

XLDnaute Junior
D'accord merci pour ta réponse. Tu penses pouvoir faire ta méthode ?
 

Discussions similaires

Réponses
20
Affichages
605
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…