XL 2013 Combiner des sommes de nombres.

  • Initiateur de la discussion Initiateur de la discussion dionys0s
  • Date de début Date de début

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 !

dionys0s

XLDnaute Impliqué
Bonjour le forum,

j'aimerais développer la fonction suivante :
En argument de la fonction , j'ai N nombres (ParamArray). Chacun de ces nombres est unique et supérieur à zéro.
En sortie, j'obtiens la liste de toutes les sommes possibles de 1 à N nombres parmi N.

Donc par exemple un code du style
VB:
Sub MaSub

  Dim Elt As Variant

  For Each Elt In MaFonction(2, 8, 3)
    Debug.Print Elt
  Next Elt

End Sub

Function MaFonction(ParamArray LesNombres() As Variant) as Variant()

End Function
renverrait 2, 8, 3,10 (2 + 8), 5 (2 + 3), 11 (8 + 3) et 13 (2 + 8 + 3)

Donc je sais pas si je résume ça correctement, mais il me faut lister toutes les sommes de 1 à N nombres parmi N.

D'avance, merci pour votre aide.
 
Bonjour.
Je dirais :
VB:
Function MaFonction(ParamArray LesNombres() As Variant) As Variant()
Dim T(), N&, P&
ReDim T(1 To 2 ^ (UBound(LesNombres) + 1) - 1)
For N = 1 To UBound(T)
   For P = 0 To UBound(LesNombres)
      If 2 ^ P And N Then T(N) = T(N) + LesNombres(P)
      Next P, N
MaFonction = T
End Function
 
- 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

Réponses
0
Affichages
2 K
Retour