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 :

[E-07] Utilisation de fonctions Excel ajoutées


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Par défaut [E-07] Utilisation de fonctions Excel ajoutées
    Bonjour tout le monde,

    Je débute en VBA et je souhaite modéliser graphiquement des pertes financières. J'ai un modèle mathématique qui fonctionne. Il ne reste plus qu'à programmer.
    J'ai à ce titre trouvé un pluggin pour Excel ("Simtools" et "Formula List") qui me permet d'utiliser la fonction POISINV(probabilité;espérance) de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =POISINV(probabilité;espérance)
    J'aimerai me servir de cette fonction dans mon programme VBA, de la même manière que l'on utilise la fonction SOMME d'Excel ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.Sum(Range("A1:A3,A5"))
    Seulement je ne sais pas s'il y a d'équivalent en Anglais étant donné que cette fonction existe grâce au pluggin.

    Merci d'avance

    PS: D'ailleurs je n'arrive pas à utiliser la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LOI.LOGNORMALE.INVERSE(probabilité;espérance;écart-type)
    ,

    Pourtant disponible sur Excel ! Un moyen de faire migrer tout ça vers le programme VBA ?

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Pour utiliser une macro complémentaire, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'NomFichier.xla'!NomModule.MacroComplementaire", Arg1, Arg2
    Je sais : c'est décevant.

    PGZ

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Quand les fonctions sont accessibles depuis worksheetfunction
    l'astuce pour retrouver le nom consiste à enregistrer bêtement une macro
    en utilisant la fonction dans une feuille de calcul.

    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim ret As Double, x As Double, Esp As Double, ET As Double
     
    ret = Application.WorksheetFunction.LogNormDist(x, Esp, ET)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Par défaut
    Merci à tout les deux pour vos réponses !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Par défaut
    Deux autres petits soucis passagers :
    1. Premier problème:
      Lorsque j'écris:

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [A3] = Application.WorksheetFunction.LogInv(0.56, 6, 1)
      Excel me met bien le retour de ma fonction dans ma cellule A3

      En revanche, lorsque je fais:

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
       
      Cellcount=3
      Cell = "A" & Cellcount
      [Cell] = Application.WorksheetFunction.LogInv(0.56, 6, 1)
      Il ne m'écrit rien dans la cellule ...
      Assez embêtant puisque je voudrai incrémenter Cellcount afin de remplir toute une colonne avec cette fonction LogInv!



    1. Second problème:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [A3] = Application.WorksheetFunction.LogInv(0.56, 6, 1)
      marche, mais:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [A3] = Application.WorksheetFunction.LogInv(RAND(), 6, 1)
      ne marche pas, embêtant aussi ..Pourtant la fonction RAND() est l'équivalent anglais de ALEA() et marche bien dans d'autres cas.

  6. #6
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour, pierrot...

    tu pourrai te contenter d'une question par discussion



    1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.sheets("Feuil1").range("A" & Cellcount ) = "OK"

    2/ ce n'est pas rand c'est Rnd()


    tu dis quoi..

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Par défaut
    Merci c'est très sympa de ta part, ça marche très bien...
    J'aurai surement d'autres questions au fur et a mesure que mon projet avancera, mais cette fois-ci je ferai en sorte de créer un autre topic!

    Merci encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation des fonction excel dans VBA
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/04/2009, 11h24
  2. Utiliser une fonction excel dans une macro et proprièté range
    Par bebel9313 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2007, 14h25
  3. [VBA]Utiliser les fonctions Excel avec Access
    Par PsykotropyK dans le forum VBA Access
    Réponses: 8
    Dernier message: 18/04/2007, 13h58
  4. [VB.NET][Excel] utiliser des fonction Excel comme xlToRight
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/03/2006, 12h10
  5. [Excel] Comment utiliser la fonction RECHERCHEV
    Par forsay1 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 03/02/2006, 11h43

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