IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

fonction excel via vba (solver)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Architecte technique
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Par défaut
    Hey tout le monde !

    J'ai un petit soucis, je vous explique....

    J'essaie de faire une minimisation de la volatilité en utilisant le solver via vba uniquement, les pondération doivent changer pour minimiser la variance ( matrice poids qui se trouve sur la feuille "optimization" colonne D3... j'essaie donc de faire comprendre à excel comment sont reliés les calculs entre eux mais mon solveur ne fonctionne pas... il ne reconnait pas ma formule et me dit erreur définie sur l'application ou par l'objet ( à cause du code en gras) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim sqrtt As Double
    
    sqrtt = Sqr(52)
    Worksheets("Optimization").Range("L5").Select
    
    ActiveCell.Formula = "= " & sqrtt & " *sqrt(mmult(mmult(transpose(R[-2]C[7]:R[-2+" & c & "]C[7]),Optimization!R[-1]C[-11+" & c & "+5]:R[-1+" & c & "]C[-11+" & c & "+" & c & "+5]), R[-2]C[7]:R[-2+" & c & "]C[7])"
     
    SolverOk SetCell:="$L$5", MaxMinVal:=2, ValueOf:=0, ByChange:="r[-2]c[7]:r[-2+c]c[7]"
            
        SolverSolve
    
    End Sub
    si quelqun a une idéee je suis prenante

    merci beaucoup

    voici mon fichier : http://www.cjoint.com/c/FCArqePcTek


    VANESS

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sans avoir examiné la formule, je vois que tu emploies le style de référence R1C1 tout en utilisant la propriété Formula, essaye la propriété FormulaR1C1
    Illustration
    FormulaR1C1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C2").FormulaR1C1 = "=RC[-2]*RC[-1]"
    Formula
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C2").Formula = "=A2*B2"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2016
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 102
    Par défaut PB solveur
    Bonjour,

    D'accord avec Philippe,

    autre chose me gène dans ByChange:="r[-2]c[7]:r[-2+c]c[7]", c semble être une variable dans ton code mais je ne suis pas sûr qu'elle puisse passer là sous cette forme!

    "..." & c & "..." me semblerait plus adapté.

    Sinon je n'arrive pas à télécharger ton fichier...

    Cordialement.

    Bruno

Discussions similaires

  1. Extration de données Excel via VBA
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2007, 09h08
  2. Réponses: 13
    Dernier message: 19/03/2007, 16h55
  3. Fonction excel en VBA
    Par Gary US dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 17h39
  4. problème de date dans excel via vba.
    Par Bourezak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/12/2006, 13h39
  5. Mise en page Excel via VBA Access
    Par popo68 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/11/2006, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo