Formule vba avec variable ?

Bonjour,

J'ai un petit pb concernant les formules sous vba avec un nombre variable d'éléments.

Ex :

Je souhaite faire la somme d'une plage variable
Range( Cells ( 2, 2) , Cells (2, i ))


Je n'arrive pas mettre cette valeur dans une cellule A1
J'ai essayé en faisant :
Range("A1").Formula = "=SUM(A" & 1 & ":" & i & "2")"


Mais ça ne fonctionne pas car les variables sont sur les colonnes (pb ac les chiffres)

Existe t il une manière d'écrie une formul un peu dans l'esprit :

Range(Cells(R,i),Cells(R,i)).Formula= "="SUM("&Range(Cells(6,9),Cells(R,i))&")"


Merci beaucoup
Configuration: Windows XP
Firefox 2.0.0.11

7 réponses

  1. tu peux donner la valeur ascii de la lettre fonction chr() et incrementer la variable caractere 65 pour A, 66 pour B etc ...
    ActiveCell.Formula = "=SUM($ " chr(66) & "$" & y & ": $ " & chr(66) & "$" & x & ")"
    voili ;o)
    1. dim x as integer, y as integer

      x = 5
      y = 2
      Range("A1").Select
      ActiveCell.Formula = "=SUM($B$" & y & ": $B$" & x & ")"

      End Sub
      pour la colonne B de y a x 'B2 a B5
      tu peux changer les chiffres, y a pas de copyright
      :o)
      1. Merci Ego,

        Je suis d'accord avec toi, mais si la variable est la colonne et non la ligne ça fonctionne comment ?

        Dans ton exemple :
         ActiveCell.Formula = "=SUM($B$" & y & ": $B$" & x & ")" 


        Ma variable serait la colonne soit B

        Merci pour votre aide
        1. bien sur, tu peux mettre le code ASCII du caractere enn variable, ce qui ferait SUM($ " & chr(x) & " avec x=66
          1. attention a bien separer tes definitions de variables par " & mavariable & " sinon ca marche po
            1. Merci Ego,

              ça semble parfait....

              Je fait un check générale, mais tu m'aides vraiment

              A bientôt
              1. Après Vérif j'ai toujours un problème :

                ActiveCell.Formula = "=SUM($ " chr(66) & "$" & y & ": $ " & chr(66) & "$" & x & ")" 

                C'est valable pour les colonnes allant de A à Z, mais comment faire si mes colonnes variables vont de AA à ZA ?

                Merci bcp