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

krimosys

Guest
Alors voila j'aimerai avoir une feuille exel capable de me donner le nombre de combinaison possible pour un chiffre donné.
Exemple:
Donner le nombre d'addition possible pour 180
en sachan que la plage de chiffre vas de 1 à 80
que dans cette plage nous devon prendre 4 chiffre
et une autre plage de chiffre qui vas de 1 à 15
que dans cette plage de chiffre nous devon prendre 3 chiffre
Additionner les 7 chiffres pour obtenir les 180 demandé

Biensure pour compliqué la chose je voudrais connaitre le nombre de possibilité et les addition effectué.

Je viens à vous en dernier recourt, j'ais passé 3 jours à cherché sur les forums une solution à ce problème mais rien.

Alors par avance un grand merci)
 
Re : probleme exel

Re , Victor21 😉


Pour ne pas avoir à cliquer 100 fois
Remplacer MsgBox par Debug.Print
Code:
Debug.Print i & "+" & j & "+" & k _
                                        & "+" & l & " + ( " & m & "+" & n & "+" & o _
                                        & " )" & " = " & som

Ps: Bravo Victor
Bonne nuit à tous
 
Re : probleme exel

Re

Victor21
J'ai été jusqu'à à 1000 (Avec Debug.Print et pas MsgBox)

Ça ne plante toujours pas 😉

PS: J'ai tout dimé en Long

EDITION: J'ai poussé jusqu'à 2000
sauf que je n'obtiens que 199 solutions quelque soit la valeur de cpt (au dessus de 200)
 
Dernière édition:
Re : probleme exel

Re

Par contre avec
Code:
Cells(cpt + 1, 1) = i & "+" & j & "+" & k _
                                        & "+" & l & " + ( " & m & "+" & n & "+" & o _
                                        & " )" & " = " & som
J'ai bien 2000 lignes.

EDITION : à 60 000 toujours pas de plantage 😉

Dernière solution à 60 000: 1+9+67+76 + ( 13+4+10 ) = 180

A 65 500, Excel tient toujours bon

Dernière solution à 65 500 : 1+9+74+64 + ( 11+13+8 ) = 180

Sur ce bonne nuit à tous.

‡//‡TRANSMISSION ENDED‡//‡
 
Dernière édition:
Re : probleme exel

Bonjour le fil,

Pour continuer le fun........
Les 5 999 582 solutions de ce problème sont obtenues par ce code; aucun doublons dans chacune des 2 listes.
VB:
Sub aa()

Dim I%, J%, K%, L%, M%, N%, O%, lig&, col%, s1%, s2%, debut#
debut = Timer
Application.ScreenUpdating = False

col = 1
For I = 1 To 77
  Cells(1, col) = lig - 1
  lig = 1: col = col + 1
  For J = I + 1 To 78
    For K = J + 1 To 79
      For L = K + 1 To 80
        s1 = I + J + K + L
        If s1 > 174 Then Exit For
        For M = 1 To 13
          For N = M + 1 To 14
            For O = N + 1 To 15
              s2 = s1 + M + N + O
              If s2 = 180 Then
                lig = lig + 1
                Cells(lig, col) = "(" & I & " + " & J & " + " & K & " + " & L & ") + (" & M & " + " & N & " + " & O & ")"
              End If
Next: Next: Next: Next: Next: Next: Next

Application.ScreenUpdating = True
MsgBox (Timer - debut) / 60

End Sub
Excel 2008 est nécessaire pour afficher la colonne la plus longue ( 271 122 lignes) sur les 41 colonnes au total.

Après 20 minutes d'attente les résultats s'afficheront sur la feuille.

cordialement
 
- 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

Retour