Macro calcul avec une boucle

Résolu
mizou00 Messages postés 44 Statut Membre -  
mizou00 Messages postés 44 Statut Membre -
Bonsoir à tous,

J'ai le code suivant pour faire des calculs dans une feuille, je veux que ma macro me fasse les calculs jusqu'à la ligne 676 dans les deux colonnes A et B, les deux equation ne sont pas fixes je les changerai par la suite :)

Sheets("Feuil1").Select

i = 2
Range("A1").Select
ActiveCell.FormulaR1C1 = "T"

Range("B1").Select
ActiveCell.FormulaR1C1 = "Attach Failure Ratio"

Do While ??? ''''''' jusqu'a la ligne 676
Range("A&i").Select
ActiveCell.FormulaR1C1 = _
"=('Données(4)'!R[3]C[113]+'Données(4)'!R[3]C[115]+'Données(4)'!R[3]C[101]+'Données(4)'!R[3]C[103]+'Données(4)'!R[3]C[105]+'Données(4)'!R[3]C[107])"

Range("B&i").Select
ActiveCell.FormulaR1C1 = _
"=('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"
i = i + 1
Loop

NB: Le code ne marche pas

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    pour ta boucle tu peux utiliser un for :

    for i = 3 to 676
    cells(i,1).formulaR1C1 = ta_formule 'colonne A
    cells(i,2).formulaR1C1 = ta_formule ' colonne B
    next i

    Au passage l'enregistreur de macro propose .formulaR1C1 mais tu as aussi .formula pour utiliser les références de type A1.
    Et éviter les .select qui sont chronophages.

    eric
    0
  2. mizou00 Messages postés 44 Statut Membre
     
    Sheets("Feuil1").Select

    Range("A1").Select
    ActiveCell.FormulaR1C1 = "T"
    For i = 2 To 676
    Cells(i, 1).FormulaR1C1 = "('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"
    Cells(i, 2).FormulaR1C1 = "('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[225]-RC[-1])/('Données(4)'!R[3]C[215]+'Données(4)'!R[3]C[212]+'Données(4)'!R[3]C[195]+'Données(4)'!R[3]C[193])"
    Next i

    ca ne marche pas ca m'affiche juste les équations dans les 676 colonnes
    ca ne fait pas les calculs :(
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      je te cite : les deux equation ne sont pas fixes je les changerai par la suite

      Si tu veux la somme de C1+C2 alors :
      Cells(i, 1) = worksheets("Données(4)").[C1]+worksheets("Données(4)").[C2]

      Si c'est la feuille active tu n'est pas obligé de spécifier worksheets("Données(4)").
      eric
      0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    C'est normal, tu as oublié le = en début de formule :
    ...FormulaR1C1 = "=('Données...

    Cordialement
    Patrice
    0
  4. mizou00 Messages postés 44 Statut Membre
     
    Merci beaucoup :)
    ca répond exactement à ce que je voulais !
    0