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 :

Formule et variable (déplacé forum vba)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Formule et variable (déplacé forum vba)
    Bonjour

    j'essaye d'écrire une macro qui assigne a une cellule une formule avec des variables

    pour l'instant je fais calculer le resultat de la formule et elle s'affiche dans la case
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Cells(i, 3) = cells(m,3) + D1 * (perc1 + perc2) * 71 * tampon / 100000
    mais je voudrais pouvoir conserver la formule dans la cellule au cas où je modifie la valeur de la case m,3 par exemple

    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cells(i,3)="=cells(m,3) + D1 * (perc1 + perc2) * 71 * tampon / 100000"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,3)="="cells(m,3)" + "D1" * ("perc1" + "perc2") * 71 * "tampon" / 100000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(i,3)="="&cells(m,3)&" + "&D1&" * ("&perc1&" + "&perc2&") * 71 * "&tampon&" / 100000
    mais ca ne marche pas

    si quelqu'un peut m'aider merci

    Anne-MArie

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    La solution est de définir quelle type de données tu attribue à la cellule.
    Par exemple, lorsque tu veux lui attribuer du texte tu écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,1).text = "ici_ton_texte"
    Et donc, lorsque tu veux lui attribuer une formule, tu écriras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,1).Formula = "=D1*D2"
    Dans ton cas, c'est un peu plus compliqué puisque tu veux par ta macro définir les cellules qui seront attribuée. Tu peux le faire en concaténant des morceaux de chaïne avec la valeur de l'adresse des cellules voulues (Cells(m,1).address par ex). Cette adresse est obtenue simplement par la propriété address avec les arguments nécéssaire (LigneAbsolue,ColonneAbsolue,....). L'aide excel te donneras plus de détail à ce sujet. Les deux premier son par défaut à true pour obtenir l'adresse en mode absolu (adresse du type $A$1). Il te suffit de les mettre à False pour obtenir une adresse non absolue (A1 donc). Si tu choisis une adresse référencielle, les arguments suivant sont nécéssaires.

    Voici pour résoudre ta ligne de code ce qu'il faut taper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 1).Formula = "=" & Cells(m, 3).Address(False, False) & "+D1*(" & perc1 & "+" & perc2 & ")*71*" & tampon & "/100000"

    Bonne chance,

Discussions similaires

  1. [Toutes versions] Insertion formule avec variable dans VBA
    Par Suomiland dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/06/2015, 07h30
  2. [VBA] Formule avec variables
    Par tuzoenduro dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/02/2008, 17h40
  3. Variable dans Requête Vba Access
    Par dorschner dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/08/2006, 21h52
  4. Réponses: 3
    Dernier message: 09/04/2006, 09h10

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