Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VBA] Insérer une variable dans une FormulaR1C1

    21 avril 2011 à 14:22:09

    Salut, d'abord, n'étant pas très utilisateur de microsoft, je ne sais pas trop si je suis dans la bonne section pour poser une question à propos du Visual Basic for Application dans Excel, merci de me rediriger gentillement si ce n'est pas le cas ^^'

    Voilà mon soucis;
    J'aimerai à partir d'une macro écrire une formule dans une cellule. Je suppose que je dois utiliser la synthaxe
    cells(col,lign).formulaR1C1 = "..."
    


    Et donc, je voudrais insérer une variable dans cette formule. Pour indiquer un numéro de ligne plus précisément.
    J'ai une variable "Changement" qui indique le numéro de ligne (Integer).

    Mais quand je tente:
    Sheets("Calculs").Range("D15").FormulaR1C1 = "=SI(B1<0;SOMME(D" & Changement & ":D10);SOMME(D2:D10))"
    


    Il me sort une erreur 1004 =S

    Quelqu'un a une idée?

    EDIT:
    Bon, j'ai réussi à faire entrer la formule dans ma cellule, mais maintenant, au lieu de prendre en compte les nom de cellules (B1, D15, etc), je ne sais pas pourquoi mais la formule fout des ' ' autour de chaque nom...

    La formule:
    Sheets("Calculs").Range("D15").FormulaR1C1 = "=SI(B1=-1,SOMME(D" & Changement & ":D10),SOMME(D2:D10))"
    


    Devient dans la cellule:
    =si('b1'=-1;somme('D1':'D10');somme('D2':'D10'))
    


    Ce qui a pour effet de m'afficher un "#NOM?" au lieu du résultat du calcul.

    Edit2:

    Bon, fallait remplacer les coordonnées des cellules par des
    R[-x]C[-y]
    avec X et Y les distances en ligne et en colonne entre la cellule cible et la cellule actuelle.
    • Partager sur Facebook
    • Partager sur Twitter

    [VBA] Insérer une variable dans une FormulaR1C1

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown