VBA Formules

Bonjour,
Je souhaite appliquer une formule à plusieurs Cellule grâce à VBA,

j'ai fait ceci mais ça ne marche pas :

For i = 2 To j = 13 ' De la cellule 2 à 13
Do
Range("J & i ").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(R[-7]C[-8]:R[5710]C[-8],R[-7]C[-5]:R[84]C[-3],2,FALSE)"
i = i+ 1

Mais je ne sais pas si je dois fermer la boucle après le i = i +1

et si ma boucle est correctement écrite

Merci pour vôtre aide

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    tu commences ta boucle par un for, il faut donc la terminer par un Next, donc dans ton code, change
    i=i+1
    par
    Next
    .

    Cordialement.
    1. Et si je remplace i= i+1 par Next

      le code reste logique, est ce qu'il peut marcher ?..?
      1. Contributeur
        bonjour à tous

        enlève aussi le "do"

        les "select-selection sont inutiles. tu peux écrire
        Range("J & i ").FormulaR1C1 ="=VLOOKUP(R[-7]C[-8]:R[5710]C[-8],R[-7]C[-5]:R[84]C[-3],2,FALSE)"

        mais ta formule vlookup me parait fausse:

        tu commences à i=2 avec dans ta formule R-7 donc 7 lignes au dessus de la ligne 2
        dans rechercheV le 1° parametre est une cellule et non une plage de cellules: tu as écrit

        "=VLOOKUP(R[-7]C[-8]:R[5710]C[-8],
    2. Attention ça risque d'être facile :
      peux être que c'est plus facile de la faire autrement,
      j'ai mis une formule "Somme(A5:A8)" dans J1,J2,J3,J4,J5
      j'ai mis toute la colonne J au Format Texte, puis j'ai tout remi au Format Standard, sauf qu'il faut
      que je double clique sur chaque case de J1,J2,J3,J4,J5 pour afficher les valeurs, c'est pour ça que je voulais que la Macro
      active la cellule, pour que la cellule affiche le résultat de la formule et non pas le texte de la formule

      Merci de me proposer une solution, j'ai fermé le fichier et ouvert, tant que je ne double cliques sur chaque cellules, j'ai toujours le texte de la formule affichent au lieu du résultat

      Merci pour vôtre aide
      1. Bonjour,

        La formule n'est pas "Somme(A5:A8)", mais
        =somme(A5:A8)

        Gégé
      2. Bonjour

        La formule n'est pas "Somme(A5:A8)" mais
        =somme(A5:A8)

        Gégé
    3. Attention ça risque d'être facile :
      peux être que c'est plus facile de la faire autrement,
      j'ai mis une formule "Somme(A5:A8)" dans J1,J2,J3,J4,J5
      j'ai mis toute la colonne J au Format Texte, puis j'ai tout remi au Format Standard, sauf qu'il faut
      que je double clique sur chaque case de J1,J2,J3,J4,J5 pour afficher les valeurs, c'est pour ça que je voulais que la Macro
      active la cellule, pour que la cellule affiche le résultat de la formule et non pas le texte de la formule

      Merci de me proposer une solution, j'ai fermé le fichier et ouvert, tant que je ne double cliques sur chaque cellules, j'ai toujours le texte de la formule affichent au lieu du résultat

      Merci pour vôtre aide