Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

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 !

lunettenoire

XLDnaute Nouveau
Bonjour,

Je ne sais pas si Excel peut faire ça mais comme c'est en demandant qu'on obtient des réponses :
Prenons l'équation suivante : 8A + 4B + 2C + D = 1210

Existe il une formule pour qu'Excel (ou un autre logiciel quel qu'il soit) soit capable de me donner l'ensemble des solutions possibles à cette équation (valeurs de A, B, C et D) ?

Ça fait 2 jours que je cherche et je commence à perdre la boule.

Merci d'avance !
 
Re : Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

Ah oui j'avais oublié de préciser. Les valeurs doivent être comprises entre 0 et 200 maximum.

J'ai peur que ça fasse vraiment trop de possibilités pour que ce soit viable :/
 
Re : Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

Est-ce qu'il s'agit de valeurs entières ? quel est le pas de test ? de 1 en 1 ?

Toujours est-il que le calcul est réalisable avec une macro VBA, qui fera un peu ramer l'application Excel, mais le résultat n'est pas exhaustif car le nombre de solutions possible est supérieur à 65536...
 
Re : Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

Bonjour Lunettenoire, xltools,

Si les valeurs a chercher sont aussi entières, une possibilité avec le code suivant qui écrit les solutions sur une nouvelle feuille. Attention c'est assez long mais pas rédhibitoire (du moins avec les données exemples), je n'ai pas laissé tourner jusqu'au bout, juste assez pour pouvoir dire que le nombre de solutions sera supérieur à 1,000,000.

Si la sub est interrompue avant la fin, penser à remettre le calcul sur automatique.

Cordialement

KD

VB:
Option Explicit

Sub test()
    Call e4i(8, 4, 2, 1, 1210, 0, 200)
End Sub

Sub e4i(a&, b&, c&, d&, t&, m&, n&)
Dim i&, j&, k&, e&, x&, y&, z&, f#, g%
    Sheets.Add
    Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
    For i = m To WorksheetFunction.Min(Int(t / a), n)
        x = a * i
        For j = m To WorksheetFunction.Min(Int((t - x) / b), n)
            y = x + b * j
            For k = m To WorksheetFunction.Min(Int((t - y) / c), n)
                z = y + c * k: f = (t - z) / d
                If f - Int(f) = 0 And f >= m And f <= n Then
                    e = e + 1
                    If e > Rows.Count Then e = 1: g = g + 5
                    Cells(e, g + 1) = i: Cells(e, g + 2) = j: Cells(e, g + 3) = k: Cells(e, g + 4) = f
                End If
            Next k
        Next j
    Next i
    Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
End Sub

Edit : la sub touve 1,002,227 solutions. C'est un nombre intéressant, tout écolier du CM2 aura reconnu le 78666ème nombre premier.
(private joke).
 
Dernière édition:
Re : Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

Merci KenDev,

je suis au boulot cet après midi donc impossible de tester quoi que ce soit avant ce soir.

Les valeurs à chercher sont entières, de 1 en 1 de préférence, possibilité d'aller de 10 en 10 si c'est vraiment trop lourd.

Je vous tiendrai au courant dès que je pourrai tester quoi que ce soit.

Have Fun !
 
Re : Connaitre toutes les solutions possibles à une équation à 4 inconnues ?

J'ai pu tester, c'est impeccable ! Tout est parfait 😀

Je pensais pas que je trouverais mon bonheur avant la fin de la journée;

Merci beaucoup, je vous aime les gens ♥
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…