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 :

Insérer une formule VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 69
    Par défaut Insérer une formule VBA
    Bjr à tous

    Voici mon probleme, je ne sais pas comment on insere une formule dans le cod VBA - ou du moins je sais le faire par le biais de l'enregistreur Macro mais ca ne me convient pas.

    Voila pourquoi :

    1 - J'ai une boucle (for each) qui descend dans ma colonne B et sélectionne chaque cellule dans une feuille qu'on va appeler "Poire" du workbook "Fruit"

    Je voudrais que dans chaque cellule de la feuille Poire, il me calcule une variation LN de données qui se trouve dans la feuille "Tomate" du Workbook "Legume"

    Via l'enregistreur Macro j'obtiens ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ActiveCell.FormulaR1C1 = "=LN([recupdata.xls]ref!R3C2/[recupdata.xls]ref!R2C2)"
     
    J'ai essayé de faire ca mais il ne comprend pas :
     
    ActiveCell.FormulaR1C1 = "=LN([recupdata.xls]ref!R3 + W C2/[recupdata.xls]ref!R2 + W C2)"
     
    W = W + 1
     
    Next ...
    En gros je voudrais qu'il change de lignes en fonction de chaque cellule de la feuille Poire et non pas qu'il garde les deux mêmes cellules de la feuille Tomate.


    Avez vous compris mon probleme ?

    Si oui, avez vous une solution ?

    PS. Voici ce que j'avais essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell = Ln(Workbooks("recupdata.xls").Worksheets("ref").Cells(3 + W, 2) / Workbooks("recupdata.xls").Worksheets("ref").Cells(2 + W, 2))

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Pour faire varier une partie de chaîne de caractères en fonctions de variables, il faut le faire en dehors des guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=LN([recupdata.xls]ref!R" & (3 + W) & "C2/[recupdata.xls]ref!R" & (2 + W) & "C2)"

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    Bonjour pour utiliser la fonction LN tu peux utiliser ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Value = Application.WorksheetFunction.Ln(mavaleur)
    mavaleur correspont aux cellules dont tu veux avoir la valeur (n'oublie pas les guillemets)

    J'espère avoir été clair aussi
    Bonne chance
    Cordialement
    DoDo

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 13h02
  2. Insérer une formule par VBA
    Par Carmiel dans le forum Excel
    Réponses: 7
    Dernier message: 13/12/2016, 21h55
  3. Insérer une formule dans une variable en VBA
    Par cheickna dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/09/2014, 12h21
  4. Réponses: 5
    Dernier message: 27/02/2014, 12h09
  5. [XL-2003] Insérer une formule avec "Rank" en VBA
    Par apnw7931 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/04/2011, 11h48

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