Combinaison pour somme

  • Initiateur de la discussion Initiateur de la discussion kenzo1245
  • 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 !

K

kenzo1245

Guest
Bonjour,

J'ai trouvé un petit programme sur le net qui affiche un message avec toutes les possibilités de termes pour une somme donnée.
J'aimerais juste pouvoir la modifier pour qu'il me donne qu'une seul des possibilités sans chercher toutes les autres en sélectionnant les bonnes cellules.

Merci d'avance.


Sub trouve()

Dim bse, lng As Long, x As Long, u As Long, sol As String
Dim i As Long, j As Long
bse = Selection.Value
lng = UBound(bse, 2) - LBound(bse, 2) - 1
u = bse(1, UBound(bse, 2))
For i = 0 To 2 ^ (lng + 1)
x = 0
For j = 0 To lng
If (i \ (2 ^ j)) Mod 2 Then x = x + bse(1, j + 1)
Next j
If x = u Then
sol = u & "="
For j = 0 To lng
If (i \ (2 ^ j)) Mod 2 Then sol = sol & bse(1, j + 1) & "+"
Next j
MsgBox Left$(sol, Len(sol) - 1)
End If
Next i
End Sub
 

Pièces jointes

Re : Combinaison pour somme

Bonjour,

ci dessous le code modifié
Code:
Sub trouve()
Dim bse, lng As Long, x As Long, u As Long, sol As String
Dim i As Long, j As Long, plage as string
   bse = Selection.Value
   lng = UBound(bse, 2) - LBound(bse, 2) - 1
   u = bse(1, UBound(bse, 2))
   For i = 0 To 2 ^ (lng + 1)
      x = 0
      For j = 0 To lng
         If (i \ (2 ^ j)) Mod 2 Then x = x + bse(1, j + 1)
      Next j
      If x = u Then
        plage = ""
         sol = u & "="
         For j = 0 To lng
            If (i \ (2 ^ j)) Mod 2 Then
                'sol = sol & bse(1, j + 1) & "+"
                plage = plage & Cells(5, j + 4).Address & ","
            End If
         Next j
         plage = Left$(plage, Len(plage) - 1)
         Range(plage).Select
         'MsgBox Left$(sol, Len(sol) - 1)
         Exit Sub
      End If
   Next i
End Sub

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
788
Réponses
4
Affichages
735
Réponses
5
Affichages
914
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
8
Affichages
390
Réponses
10
Affichages
665
Réponses
5
Affichages
574
Retour