Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 17h07   #1
Membre du Club
 
Inscription : novembre 2010
Messages : 141
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 141
Points : 61
Points : 61
Par défaut utiliser le solveur excel avec vba

bonjour,

je suis à la recherche d'exemple d'utilisation du solveur avec VBA.

je souhaiterais coder une maximisation de fonction vraiment toute simple, avec des contraintes guère plus compliquées.

je n'ai rien trouvé en recherchant "solveur" dans ce forum.

enfin, j'espère que c'est faisable ....
__________________
quantcorner.wordpress.com
tallent_e est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 08h22   #2
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 446
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 32
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 446
Points : 4 620
Points : 4 620
Envoyer un message via MSN à Qwazerty
Salut

Pense à l'enregistreur de macro, il te donnera la trame d'utilisation du solver.
Voila un exemple rapide obtenu avec l'enregistreur (et modifié un peu).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    'Pour l'exemple on place une formule en C4
    ThisWorkbook.Sheets("Feuil1").Range("C4").Formula = "=$A$2*2"
    'On programme le solver
    SolverOk SetCell:="$C$4", MaxMinVal:=3, ValueOf:="8", ByChange:="$A$2"
    'On execute le solver
    SolverSolve
 
    'Ou pour ne pas avoir de message
    Application.DisplayAlerts = False
    'Dans ce cas on garde la dernier valeur testé qui donne le bon résultat
    SolverSolve True
    Application.DisplayAlerts = True
Il te faut activer la référence Solver dans VBA, Outil, références..., tu coches Solver.

Pour avoir plus d'information
http://msdn.microsoft.com/en-us/libr...ffice.10).aspx
Car il doit y avoir des spécificité lorsque plusieurs résultats sont possible.

D'ailleurs as tu réellement besoin de passer par le Solver? ne peux tu pas faire ta recherche par le code vba directement, le solver ne fait que tester toutes les possibilité de valeur pour des cellule et formule données.

++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 20h12   #3
Membre du Club
 
Inscription : novembre 2010
Messages : 141
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 141
Points : 61
Points : 61
Bonsoir Qwazerty

Merci d'avoir pris la peine de répondre au petit matin d'un w-e de Noël!!

Merci pour les pistes que tu donnes. Je vais explorer cela.

Je cherche à constuire un modèle GARCH(1,1).
L'utilisateur paste sa série de données historiques.
Et vlan, le code renvoie les paramètre du modèle et la volatilité.
La fonction de maximisation intervient alors dans la détermiation d'omega, mu, sigma.

Sur internet, j'ai trouvé plusieurs worksheets de Garch(1,1) (par exemple, http://www.axelvogt.de/axalom/index....inancial_stuff), mais la maximisation de la fonction est "manuelle".

Voilà, je vais creuser tout çà ...

Bon réveillon (à ceux qui réveillonnent!)
__________________
quantcorner.wordpress.com
tallent_e est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h54.


 
 
 
 
Partenaires

Hébergement Web