somme égale à 26 Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
pagesalex
Membre fidèle
Membre fidèle
Messages : 316
Appréciations reçues : 3
Inscrit le : 27 juin 2018
Version d'Excel : 2013

Message par pagesalex » 20 novembre 2018, 11:36

Bonjour,

J'aimerais trouver toutes les combinaisons possibles d'une somme de 3,4, 5 ou 6 chiffres compris entre 4 et 12 dont la somme donne 26.

Par exemple 4+4+4+4+5+5 = 26.

Merci pour votre aide :)
:btres:
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 1'566
Appréciations reçues : 154
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 20 novembre 2018, 11:58

Bonjour pagesalex, le forum,

Une petite recherche sur le net et je suis tombé la dessus:
RechercheSomme-avec-valeurs-positives.xlsm
(54.45 Kio) Téléchargé 4 fois
Merci à l'auteur de cette macro, ;;)

Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 1'566
Appréciations reçues : 154
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 20 novembre 2018, 12:06

Re,

Une autre version plus élaborée du brillantissime Eriiic : Cordialement,

EDIT: Oups! pas vu qu'on pouvais utiliser le même chiffre plusieurs fois, :bof: Bravo H2so4, :clap:
Modifié en dernier par xorsankukai le 20 novembre 2018, 12:16, modifié 1 fois.
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'438
Appréciations reçues : 280
Inscrit le : 16 juin 2013
Version d'Excel : 2013 UK Windows 10

Message par h2so4 » 20 novembre 2018, 12:09

Bonjour,

une autre proposition
Sub aargh()
    recherche
End Sub
Sub recherche(Optional n = 1, Optional s = "", Optional nsol = 0, Optional ni = 4)
    For i = ni To 12
        s = s & "+" & i
        ev = Application.Evaluate(s)
        If ev <= 26 Then
            If ev = 26 And n > 3 Then
                'solution
                nsol = nsol + 1
                Cells(nsol, 1) = Mid(s, 2)
            ElseIf n < 6 Then
                recherche n + 1, s, nsol, i
            End If
        Else
            i = 13
        End If
        s = Left(s, InStrRev(s, "+") - 1)
    Next i
End Sub
1 membre du forum aime ce message.
p
pagesalex
Membre fidèle
Membre fidèle
Messages : 316
Appréciations reçues : 3
Inscrit le : 27 juin 2018
Version d'Excel : 2013

Message par pagesalex » 20 novembre 2018, 12:10

Effectivement c'est top merci !
:btres:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message