Macro calcul avec une boucle

Résolu
mizou00 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
mizou00 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
mizou00 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

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

Cordialement
Patrice
0
mizou00 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup :)
ca répond exactement à ce que je voulais !
0