Génération de l'ensemble des solutions d'une équation à partir de plusieurs paramètre

jbertron

XLDnaute Nouveau
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.

J'ai parcouru le forum, il y a bcp de posts similaires mais je n'arrive pas à l'appliquer à mon problème.

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...)
 

Pièces jointes

  • sensibilité paramètre.xls
    13 KB · Affichages: 94

GeoTrouvePas

XLDnaute Impliqué
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Bonjour,

C'est pas la solution la plus fine qui soit mais ça marche ^^
Tu la trouveras en fichier joint.
Pour paramétrer le calcul selon tes besoins, tu as un petit tableau où tu défini les valeurs Mini et Max de chaque paramêtre et la valeur que tu veux lui incrémenter entre chaque calcul.

Bonne journée

P.S. : Fais attention à ne pas choisir une amplitude trop large entre Valeur Mini et Valeur Max car le temps d'exécution de la macro augmente rapidement.
En cas de calcul trop long : Ctrl + Alt + Pause pour interrompre la macro.
 

Pièces jointes

  • Test sensibilité.xls
    35.5 KB · Affichages: 91
  • Test sensibilité.xls
    35.5 KB · Affichages: 90
  • Test sensibilité.xls
    35.5 KB · Affichages: 89

jbertron

XLDnaute Nouveau
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Re-bonjour
Geo trouve"PAS" !!je dirais plutôt Geo trouve "tout"
Ta macro marche très bien, en plus ça tombe bien j'ai de petites incrémentations. Cependant j'ai remarqué que pour le paramètre Mcges y a un petit soucis :
La valeur min est 0; la valeur max est 0.3 et l'incrémentation 0.1 soit des valeurs possibles qui sont : 0;0.1;0.2;0.3. Cependant j'ai remarqué que la macro ne générait pas la valeur 0.3...Celle ci apparait à la condition que j'écrive Mcges Valeur max = 0.4....

Qu'en penses tu??
en tt cas merci bcp

Je te joins le fichier rempli avec les valeurs que j'ai choisies
 

jbertron

XLDnaute Nouveau
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Avec la PJ c'est mieux
 

Pièces jointes

  • Test sensibilité.xls
    43.5 KB · Affichages: 84
  • Test sensibilité.xls
    43.5 KB · Affichages: 88
  • Test sensibilité.xls
    43.5 KB · Affichages: 79

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Bonjour,

code que j'ai donné sur un autre forum.........

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

bonne journée
 

Pièces jointes

  • sensibilité paramètre_v1.zip
    11.9 KB · Affichages: 42
G

Guest

Guest
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Bonjour le fil,

Juste une incursion pour saluer mon ami Bh² qui nous fait là une belle imbrication de boucles. Des McSurf ( à nouméa ) même des McGes...
manque plus que McDo.:D

A++Hub
 
Dernière modification par un modérateur:

GeoTrouvePas

XLDnaute Impliqué
Re : Génération de l'ensemble des solutions d'une équation à partir de plusieurs para

Voilà le fichier corrigé
On est vendredi, j'ai encore fait mes 35h en double cette semaine alors j'ai fait une vilaine bidouille pour arranger ça. C'est pas très pro mais ça marche ^^. Je t'ai même rajouté une macro pour effacer le tableau avec un joli bouton ^^

Bon week end tout le monde !

Edit : C'est pas GeoTrouveTout non plus. On va dire GeoTrouveDeTempsenTemps
 

Pièces jointes

  • Test sensibilité.xls
    34.5 KB · Affichages: 81
  • Test sensibilité.xls
    34.5 KB · Affichages: 88
  • Test sensibilité.xls
    34.5 KB · Affichages: 94
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 291
Membres
111 092
dernier inscrit
ThomasU3