Un peu d'aide svp.

Résolu
Mathbenjo Messages postés 31 Statut Membre -  
Mathbenjo Messages postés 31 Statut Membre -
Bonjour à tous,

Je dévelloppe une petite macro en vb/vba pour excel. Une partie de cette dernière consiste à reprendre la formule d'une cellule existance et de la compléter par le contenu d'un conbobox.
Rien de folichon. J'ai donc ecrit le code suivant :

Sheets("feuil1").Select
Range("C3").Select
Dim tt
tt = Range("C1").Formula
ActiveCell.Formula = tt + "+" + ComboBox1.Value + "!R[3]C[0]"

La formule en C1 est : =Feuil2!C4+Feuil3!C4

il devrait me sortir cela : =Feuil2!C4+Feuil3!C4+Feuil2!C6 (si j'ai choisi Feuil2 dans ma combobox)

mais il me sort cela : =Feuil2!$D:$D+Feuil3!$D:$D+Feuil2!C6

Cela doit venir d'un guillement qui manque ou je c pas trop. Si quelqu'un peut m'aider.
MErci
Configuration: Windows XP Internet Explorer 8.0

3 réponses

  1. pilas31 Messages postés 1878 Statut Contributeur 648
     
    Bonjour,

    C'est le mélange entre les deux modes de notation de formule qui pose problème :
    La notation de type "C4" et la notation relative de type "R[3]C[0]"
    Il faut opter pour l'une ou l'autre. Par exemple ce code fonctionne :

    Sheets("Feuil1").Select
    Range("C3").Select
    Dim tt As String
    tt = Range("C1").Formula
    ActiveCell.Formula = tt & "+" & ComboBox1.Value & "!C6"

    Remarque : Il vaut mieux utiliser l'opérateur de concaténation & et déclarer tt en texte

    A+

    EDIT : pardon je viens de corriger en remettant ComboBox1.Value
    0
  2. pilas31 Messages postés 1878 Statut Contributeur 648
     
    Re bonjour,

    Pour être exhaustif, voici le code qui fonctionne en relatif :

    Sheets("Feuil1").Select
    Range("C3").Select
    Dim tt As String
    ActiveCell.Formula = Range("C1").Formula
    ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 & "+" & ComboBox1.Value & "!R[3]C[0]"

    En effet, il faut d'abord recopier la formule en C3 car si on prend le texte brut de la formule en C1, la référence relative n'est plus bonne pour C3

    A+
    0
  3. Mathbenjo Messages postés 31 Statut Membre
     
    Genial ca marche, merci beaucoup pour ton aide.
    Je débute en vb je connais pas toutes les specificitées.

    Bonne journée.
    0