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 :

Forcage sous VBA d'une formule excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 153
    Points : 83
    Points
    83
    Par défaut Forcage sous VBA d'une formule excel
    Bonjour,

    je cherche à faire une macro sous VBA avec la formule suivante sous excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =(1+(E6*(X6-Y6)/Y6)+ (G6*(Z6-AA6)/AA6) + (I6*(AB6-AC6)/AC6) + (K6*(AD6-AE6)/AE6) + (M6*(AF6-AG6)/AG6) + (O6*(AH6-AI6)/AI6) + (Q6*(AJ6-AK6)/AK6))*100
    Dans le tableau de données que j'utilise les valeurs au numérateur peuvent etre égale à zéro. Excel ne fait pas le calcul dans ce cas.
    Est il possible sous VBA de "forcer" le calcul tout de meme de sorte que si par rapport au code ci dessous si par exemple RC[-12] = 0 alors (RC[-32]*(RC[-13]-RC[-12])/RC[-12]) =0 mais faire le calcul pour le reste.

    j'espère etre clair

    Merci de votre aide.

    Oliver



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveCell.FormulaR1C1 = _
            "=(RC[-34]*(RC[-15]-RC[-14])/RC[-14])+ (RC[-32]*(RC[-13]-RC[-12])/RC[-12]) + (RC[-30]*(RC[-11]-RC[-10])/RC[-10]) + (RC[-28]*(RC[-9]-RC[-8])/RC[-8])"

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut oliver75 et le forum

    je cherche à faire une macro sous VBA avec la formule suivante sous excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =(1+(E6*(X6-Y6)/Y6)+ (G6*(Z6-AA6)/AA6) + (I6*(AB6-AC6)/AC6) + (K6*(AD6-AE6)/AE6) + (M6*(AF6-AG6)/AG6) + (O6*(AH6-AI6)/AI6) + (Q6*(AJ6-AK6)/AK6))*100
    Réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.FormulaLocal = "=(1+(E6*SI(ESTERR(1/Y6);0;(X6-Y6)/Y6))+ (G6*SI(ESTERR(1/AA6);0;(Z6-AA6)/AA6)) + (I6*SI(ESTERR(1/AC6);0;(AB6-AC6)/AC6)) + (K6*SI(ESTERR(1/AE6);0;(AD6-AE6)/AE6)) + (M6*SI(ESTERR(1/AG6);0;(AF6-AG6)/AG6)) + (O6*SI(ESTERR(1/AJ6);0;(AH6-AI6)/AI6)) + (Q6*SI(ESTERR(1/AK6);0;(AJ6-AK6)/AK6)))*100"
    Dans le tableau de données que j'utilise les valeurs au numérateur peuvent etre égale à zéro. Excel ne fait pas le calcul dans ce cas.
    Est il possible sous VBA de "forcer" le calcul tout de meme de sorte que si par rapport au code ci dessous si par exemple RC[-12] = 0 alors (RC[-32]*(RC[-13]-RC[-12])/RC[-12]) =0 mais faire le calcul pour le reste.

    Fais-le dans ta formule, de telle sorte qu'elle ne donne pas un code d'erreur (voir formule donnée)

    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = SI(AK6<>0; Ta ligne entière; La partie que tu veux tout de même calculer)
    En allant vite...

    PS - mais Gorfael a certainement une méthode plus orthodoxe

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 153
    Points : 83
    Points
    83
    Par défaut
    merci messieurs . ça marche!!!!!!!!!!!!!!!!

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

Discussions similaires

  1. [Toutes versions] Sous VBA appeler une cellule excel avec une variable
    Par karatetiger76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2011, 19h04
  2. [VBA] Importer une feuille Excel sous Access
    Par Keldon dans le forum VBA Access
    Réponses: 10
    Dernier message: 26/04/2007, 09h22
  3. Transformé une formule Excel en script VBA ?
    Par SFLEY dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/01/2007, 11h48
  4. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52
  5. concaténation en vba dans une formule de cellule Excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 22h58

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