Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul d'une somme selon un tri et critères

4 réponses
Avatar
Myridmm
Bonjour,

J'ai une situation complexe à calculer,

J'ai de nombreuses valeurs que je dois:

Premièrement trier en ordre croissant pour le calcul
Deuxièmement calculer la somme des valeurs les plus hautes (celles triées) qui correspondraient à la somme se rapprochant le plus d'une valeur. Cette somme doit être égale ou plus grande que cette valeur.

Merci d'avance ! =)

4 réponses

Avatar
MichD
Le 07/12/20 Í  16:13, Myridmm a écrit :
Bonjour,
J'ai une situation complexe Í  calculer,
J'ai de nombreuses valeurs que je dois:
Premièrement trier en ordre croissant pour le calcul
Deuxièmement calculer la somme des valeurs les plus hautes (celles triées) qui
correspondraient Í  la somme se rapprochant le plus d'une valeur. Cette somme
doit être égale ou plus grande que cette valeur.
Merci d'avance ! =)

Bonjour,
Regarde du cÍ´té du "solver" dans Excel.
Si tu n'as jamais utilisé le "Solver" il va falloir que tu ajoutes la
macro complémentaire. Pour ce faire : Fichier / options / Compléments /
Dans le bas de la fenêtre / liste déroulante / Compléments Excel /
bouton atteindre / coche l'élément : "Complément "solver".
Ici, un site web qui explique la manière de procéder avec le "solver" pour
un problème similaire au tien.
https://superuser.com/questions/362349/find-combination-of-values-with-sum-closest-to-number/362350
Amuse-toi bien! ;-)
MichD
Avatar
MichD
Le 07/12/20 Í  19:56, MichD a écrit :
Le 07/12/20 Í  16:13, Myridmm a écrit :
Bonjour,
J'ai une situation complexe Í  calculer,
J'ai de nombreuses valeurs que je dois:
Premièrement trier en ordre croissant pour le calcul
Deuxièmement calculer la somme des valeurs les plus hautes (celles
triées) qui
correspondraient Í  la somme se rapprochant le plus d'une valeur. Cette
somme
doit être égale ou plus grande que cette valeur.
Merci d'avance ! =)

Bonjour,
Regarde du cÍ´té du "solver" dans Excel.
Si tu n'as jamais utilisé le "Solver" il va falloir que tu ajoutes la
macro complémentaire. Pour ce faire : Fichier / options / Compléments /
Dans le bas de la fenêtre / liste déroulante / Compléments Excel /
bouton atteindre / coche l'élément : "Complément "solver".
Ici, un site web qui explique la manière de procéder avec le "solver" pour
un problème similaire au tien.
https://superuser.com/questions/362349/find-combination-of-values-with-sum-closest-to-number/362350
Amuse-toi bien! ;-)
MichD

Quelques explications sur ce que tu cherches Í  faire :
find a combination of values with a bigger sum but closest to a target
Le site :
https://www.quora.com/How-do-you-find-a-combination-of-values-with-a-bigger-sum-but-closest-to-a-target
La fonction "Textjoin" se traduit en français par "Joindre.Texte", elle
est disponible dans la version Excel 2019 ou un abonnement Microsoft 365.
Explication de cette fonction :
https://support.microsoft.com/fr-fr/office/joindre-texte-joindre-texte-fonction-357b449a-ec91-49d0-80c3-0e8fc845691c?ui=fr-fr&rs=fr-fr&ad=fr
MIchD
Avatar
MichD
Le 07/12/20 Í  16:13, Myridmm a écrit :
Bonjour,
J'ai une situation complexe Í  calculer,
J'ai de nombreuses valeurs que je dois:
Premièrement trier en ordre croissant pour le calcul
Deuxièmement calculer la somme des valeurs les plus hautes (celles triées) qui
correspondraient Í  la somme se rapprochant le plus d'une valeur. Cette somme
doit être égale ou plus grande que cette valeur.
Merci d'avance ! =)

Selon la donne de ton problème, si tu veux trouver la somme des x plus
grandes valeurs qui dépassent un montant particulier tout en étant le
plus près possible de ce montant, il y a une manière de faire.
Suppose que tu as dans la plage de cellules A1 Í  A17 les chiffres de 1 Í 
17 en ordre croissant. Si tu veux extraire les x plus grandes valeurs
dont la somme dépasse 65 mais est le plus près de 65, je te propose ceci :
Dans un module standard, inscris cette fonction personnalisée et dans la
cellule de ton choix, la formule suivante :
=Réunir(A1:A17;";")
A1:A17 ---> Plage de cellules
; ----> le séparateur entre chaque nombre retenu.
'--------------------------------------
Function Réunir(Rg As Range, Sep As String)
Dim A As Long, T(), S As String
With Worksheets(Rg.Parent.Name)
Set Rg = .Range(Rg.Address)
End With
For A = 1 To Rg.Cells.Count
ReDim Preserve T(1 To A)
T(A) = Rg(A)
Next
Réunir = Join(T, Sep)
End Function
'--------------------------------------
MichD
Avatar
MichD
Désolé, c'est cette fonction personnalisée que j'aurais dÍ» publier.
Dans la cellule de ton choix, tu écris : =PGV(A1:A10;B1)
A1:A10 = Plage de cellules o͹ sont les données
B1 = La somme recherchée.
Cette fonction retient seulement les x nombres les plus élevés dont la
somme retourne au moins le montant recherchée. Elle ne choisit pas les
valeurs au hasard.
À copier dans un module standard.
'-------------------------------
Function PGV(Rg As Range, Total As Range)
Dim A As Long, Temp As Double
Dim X As Double, Number As String
Temp = Total
For A = 1 To Rg.Rows.Count
X = Application.Large(Rg, A)
Number = Number & X & ", "
Temp = Temp - X
If Temp < 0 Then
Exit For
End If
Next
If Number <> "" Then
Number = Left(Number, Len(Number) - 2)
End If
PGV = Number
End Function
'-------------------------------
MichD