Macro répétition de formule

Damien@ Messages postés 37 Statut Membre -  
Damien@ Messages postés 37 Statut Membre -
Bonjour,

je doit écrire un macro qui me calcul une formule en colonne "C 15" autant de fois qu'il y a de cellule écrite en colonne "A"

j'ai commencé une macro qui donne ceci :

'Cherche le nombre de lignes dans la colonne A
Range("A15").Select
nbLignes = Columns("A:A").Find("*", Range("A15")).Row

'Copie de la formule
Range("H15:H" & nbLignes).Formula = "=G15-B15"

mon souci est que la formule ne ce calcul que en C15 et C16 alors que les cellules allant de A15 à A200 sont écrites.

NB: 200 est une donnée variable

Merci de me donner un coup de pouce, je suis novice en la matière.
A voir également:

2 réponses

onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
Une tiote boucle ?

For ligne = 15 To nblignes
Range("H" & ligne).Formula = "=G" & ligne & "-B" & ligne
Next ligne
-1
Damien@ Messages postés 37 Statut Membre 3
 
Désolé je n'arrive pas à la faire fonctionner.

voici la macro tel que je lès écrite.

Sub Calcul_fomule

'pour ne pas voir les changements d'écran
Application.ScreenUpdating = False

'Chercher le nombre de lignes dans la colonne A
Range("A15").Select
nbLignes = Columns("A:A").Find("*", Range("A15")).Row

'Copie de la formule 1
Range("H15:H" & nbLignes).Formula = "=G15-B15"

'Copie de la formule 2
Range("I15:I" & nbLignes).FormulaR1C1 = "=IF(RC[-3]=R13C6,R[-2]C[-3],RC[-1])"

'Copie de la formule 3
Range("L15:L" & nbLignes).Formula = "=J15*K15"

'Copie de la formule 4
Range("M15:M" & nbLignes).FormulaR1C1 = "=IF(RC[-7]=R13C6,""MORT"",(RC[-1]-RC[-8])/RC[3])"

'Copie de la formule 5
Range("N15:N" & nbLignes).FormulaR1C1 = "=IF(RC[-8]=R13C6,""MORT"",(RC[-7]-RC[-11]))"

'Copie de la formule 6
Range("O15:O" & nbLignes).FormulaR1C1 = _
"=IF(RC[-9]=R13C6,""MORT"",((RC[-5]/'bilan global'!R12C12)-RC[-11])/R[-10]C[-1])"

'Copie de la formule 7
Range("P15:P" & nbLignes).FormulaR1C1 = "='bilan global'!R24C4*(RC[-9]-RC[-13])"

'Copie de la formule 8
Range("Q15:Q" & nbLignes).FormulaR1C1 = "=RC[-5]-RC[-12]-RC[-1]-'bilan global'!R22C8"

'Copie de la formule 9
Range("R15:R" & nbLignes).FormulaR1C1 = "=RC[-1]+'bilan global'!R16C12"

'Message de fin
MsgBox "Calculs terminés", 64, "Fin"

End Sub

Voilà le problème est le même pour chaque formule, le calcul ne se fait qu sur les 2 premières ligne.

Merci de votre aide.
-1