Microsoft 365 Calcul d'appareils de soufflage suivant critéres

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 !

Hervé

XLDnaute Barbatruc
Bonjour les copains 🙂

Je vous soumets un petit problème, trouver le nombre d'appareils necessaire pour valoriser le soufflage d'air neuf dans des salles suivant un référentiel.

cela suivant plusieurs contraintes (surface, nb de personnes max)

J'ai crée un fichier exemple ou je pense avoir recensé les problèmatiques de mon projet, mais on n'est jamais à l'abri d'une erreur.

je souhaiterai une formule mais je ne suis pas contre du vba non plus

je vous remercie par avance pour votre aide

a plus les copains
 

Pièces jointes

Bonjour.
VB:
Option Explicit
Function OptiSouf(ByVal Surf As Double, ByVal Effect As Double, AirNeuf As Double, ByVal RngTb As Range) As Variant()
   Dim TRef(), MeilVol As Double, L As Integer, LMeil As Integer, Nb As Integer, Vol As Double, MeilNb As Integer, MeilL As Integer
   If Effect = 0 Then OptiSouf = Array(0, ""): Exit Function
   TRef = RngTb.Value
   MeilVol = (2 ^ 53 - 1) * 2 ^ 971
   For L = 1 To UBound(TRef, 1)
      Nb = Int(AirNeuf / TRef(L, 2) + 0.9999999)
      Vol = Nb * TRef(L, 2)
      If (Surf < 50 Imp Nb = 1) And MeilVol > Vol Then MeilVol = Vol: MeilNb = Nb: MeilL = L
      Next L
   If MeilL > 0 Then
      OptiSouf = Array(MeilNb, TRef(MeilL, 1))
   Else: OptiSouf = Array("Impossible", ""): End If
   End Function
Remarque: pour Air neuf 875, 5 modèle 1 respectent mieux l'avant dernière contrainte que 3 modèle 3, et la minimisation du nombre de modèle ne vient qu'en dernière contrainte.
 
Dernière édition:
bonjour jha et danreb et le forum

merci pour votre aide

jha, superbe, je ne suis pas un specialiste de power query, et je me demande quel est l'apport dans ce fichier, en somme nous aurions pu nous en passer ?

dranreb, merci, pourrais tu m'expliquer la "philosophie" de MeilVol = (2 ^ 53 - 1) * 2 ^ 971 ?

je pense retravaillé ta function en macro afin de pouvoir récupérer le nom du modele.

je vous renouvelle mes remerciements

a plus
 
Si l'on sait que c'est le plus grand nombre possible on peut éventuellement comprendre plus vite que c'est en vue d'une quête d'autres forcément plus petits …
Mais pour qu'on le comprenne encore plus vite je mettrai dorénavant Const LimiteMax = (2 ^ 53 - 1) * 2 ^ 971
 
- 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