Génération de l'ensemble des solutions d'une équation à part

Bonjour à tous,

Je vous sollicite (peut être juste avant les vacances pour certains ) à propos d'un problème que je n'arrive pas à résoudre :

J'ai une formule (somme et multiplication) qui me permet de calculer un coefficient Cepmax à partir de 5 paramètres. Ces paramètres peuvent avoir qu'une seule valeur pour certains alors que pour d'autres ils peuvent avoir jusqu'à 5 valeurs.

Je voudrais, par une macro ou autres, générer automatiquement l'ensemble des combinaisons possibles et le résultat associé. Plus précisément je souhaiterais pouvoir afficher toutes les valeurs de Cepmax calculées et mettre à coté du résultat les valeurs des paramètres retenus.

Quelqu'un(e) pourrait il m'aider...???

Je mets en pièces jointes le fichier Excel où sont présentées la formule ainsi que les paramètres. Dans ce fichier aussi j'écris deux solutions possibles telles que je souhaiterais générer....

Merci par avance (je galère depuis un moment...)

Bonjour,

regarde le fichier joint

Tu peux rajouter des données dans tes Mc....

le code :

Sub cep_max()
Dim McType As Range, McGeo As Range, McAlt As Range
Dim McSurf As Range, McGes As Range
Dim Mt As Single, Mo As Single, Ma As Single
Dim Ms As Single, Mg As Single
Dim Tblo()
Set McType = Range("A13", [A65000].End(xlUp))
Set McGeo = Range("B13", [B65000].End(xlUp))
Set McAlt = Range("C13", [C65000].End(xlUp))
Set McSurf = Range("D13", [D65000].End(xlUp))
Set McGes = Range("E13", [E65000].End(xlUp))
i = 0
For Mt = 1 To McType.Count
    For Mo = 1 To McGeo.Count
        For Ma = 1 To McAlt.Count
            For Ms = 1 To McSurf.Count
                For Mg = 1 To McGes.Count
                    ReDim Preserve Tblo(0 To i)
                    x = 50 * McType(Mt) * (McGeo(Mo) + McAlt(Ma) + McSurf(Ms) + McGes(Mg))
                    Tblo(i) = Array(McType(Mt).Value, McGeo(Mo).Value, McAlt(Ma).Value, McSurf(Ms).Value, McGes(Mg).Value, x)
                    i = i + 1
                Next Mg
            Next Ms
        Next Ma
    Next Mo
Next Mt
Range("G65000").End(xlUp)(2).Resize(UBound(Tblo) + 1, 6).Value = Application.Transpose(Application.Transpose(Tblo))
End Sub

le fichier

Bonjour Cousinhub!!

Quelle rapidité!!

cela me convient tt à fait et encore merci pour l'aide!!

Bonne continuation!

Rechercher des sujets similaires à "generation ensemble solutions equation part"