Macro calcul avec une boucle
Résolu/Fermé
mizou00
Messages postés
36
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
19 avril 2011
-
12 août 2010 à 20:45
mizou00 Messages postés 36 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 19 avril 2011 - 13 août 2010 à 02:55
mizou00 Messages postés 36 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 19 avril 2011 - 13 août 2010 à 02:55
A voir également:
- Macro calcul avec une boucle
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Mon pc s'allume et s'éteint en boucle - Forum Matériel informatique
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Calculer une note sur 20 ✓ - Forum Bureautique
4 réponses
eriiic
Messages postés
24513
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mars 2023
7 168
Modifié par eriiic le 12/08/2010 à 21:43
Modifié par eriiic le 12/08/2010 à 21:43
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
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
mizou00
Messages postés
36
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
19 avril 2011
12 août 2010 à 21:52
12 août 2010 à 21:52
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 :(
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 :(
eriiic
Messages postés
24513
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mars 2023
7 168
12 août 2010 à 22:09
12 août 2010 à 22:09
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
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 763
12 août 2010 à 22:10
12 août 2010 à 22:10
Bonjour,
C'est normal, tu as oublié le = en début de formule :
...FormulaR1C1 = "=('Données...
Cordialement
Patrice
C'est normal, tu as oublié le = en début de formule :
...FormulaR1C1 = "=('Données...
Cordialement
Patrice
mizou00
Messages postés
36
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
19 avril 2011
13 août 2010 à 02:55
13 août 2010 à 02:55
Merci beaucoup :)
ca répond exactement à ce que je voulais !
ca répond exactement à ce que je voulais !