[Excel] passage de variable

Bonjour,

Je voudrai faire la chose suivante :

Sheets("feuil1").select
Range("C13).FormulaR1C1 = "=feuil2!R3+varC3"

var étant une variable.

je range donc dans la cellule C13 de la feuil1, la valeur de la cellule C3+var de la feuille feuil2.

Exemple, si var vaut 2 alors on range la valeur de la cellule C5.
J'espère que vous pourrez m'aider

En vous remerciant!!!
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Contributeur
    bonjour,
    A la mode de chez moi... :D
    Sub GG()
    Dim Var As Integer
        Var = 2
        Sheets("Feuil1").[C13].Value = _
            Sheets("feuil2").[C3].Offset(Var, 0).Value
    End Sub

    A+
    1. Salut Le Tom,
      plutôt dans l'autre sens, non ?
      Range("C13).value = Sheets("feuil2").range("C3").offset(var,0).value
      bref, c'est .offset(ligne,colonne) qu'il te faut.
      I.
      1. Merci ça marche sauf que maintenant, un autre problème se présente à moi...

        En fait je récupère 2 valeurs et je dois les additionner. Un exemple pour expliquer :

        Range("H 6").Value = Sheets("feuil2").Range("C2").Offset(var, 0).Value + Sheets("feuil2").Range("C5").Offset(var, 0).Value

        Dans mon exemple ça ne fait pas l'addition, mais la concaténation des 2 valeurs.

        var = 2 donc je voudrai faire l'addition de C4 et C7 qui contiennent respectivement 5 et 7, au lieu d'obtenir 12, j'obtient 57

        Merci de votre aide.

        J'ai pour l'instant une solution qui marche mais très très lourde... J'espère que je pourrai la simplifier grâce à vous...
      2. @LeTom46il faut que tu attribue un nom de variable au case concernée, tu les déclares puis tu réalises ton opération
        sinon, tu obtiens en effet la concaténation des deux
      3. @memphiS710merci de ta réponse. C'est ce que j'ai trouvé comme solution, mais ayant 70 case ça me fait 70 variable donc un peu lourd, mais bon ça marche :)
        Encore merci
      4. Contributeur
        @LeTom46essaye avec...
        Range("H 6").Value = Val(Sheets("feuil2").Range("C2").Offset(var, 0).Value) + Val(Sheets("feuil2").Range("C3").Offset(var + 2, 0).Value )
    2. salut

      alors, voila un exemple

      pour ranger la valeur de C13 en C5 avec var = 2

      tu dois faire [C3].offset(var,0).value = [C13].value