D
David
Guest
voila mon probleme, j'ai realisé une boucle (voir en dessous) me permettant de calculer une densité grace a une formule que j'ai tapé moi meme dans la macro.
tout marche tres bien
mais....
la formule que j'ai tapé moi meme va tout le temps changer sur la page excel
je voudrais savoir si c posssible de recuperer 7 formule sur la page excel, la faire passer dans ma macro, et l'appliquer
par exemple, sur la case a8 j'ai la formule '=a7^9+8A7^8+..' ('a7' c ma variable), et dans ma macro au lieu decrir toute la formule, la prendre directement sachant qu'il ya la variable 'a7 'dans ma formule
je c pas si je suis tres clair mais au pir des cas, je suis ouvert a vos question
voila ma macro, merci
Public a7
Sub densité()
Dim nbligne
Dim den
Range('I5').Select
ActiveCell.FormulaR1C1 = '=COUNT(C[-4])+1'
nbligne = Range('I5')
For d = 2 To nbligne
den = Cells(d, 5)
Cells(d, 8).Select
Dim a7
a7 = Cells(d, 6)
Select Case den
Case Is = ''
ActiveCell.Value = ''
Case 0 To aa
Cells(d, 8).Select
ActiveCell.Value = a(a7)
End Select
Next d
'Range('J1').Select
'hauteur = InputBox('Entrer la hauteur de moyeu')
'Range('J1').Value = hauteur
'Range('H2:I2').Select
' Selection.FormulaArray = '=LOGEST(R1C5:R1C6,RC[-3]:RC[-2])'
'Range('J2').Select
'ActiveCell.FormulaR1C1 = '=round(LN(R1C10/RC[-1])/LN(RC[-2]),2)'
'Range(Cells(2, 8), Cells(nbl, 10)).Select
'Selection.FillDown
'
End Sub
Public Function a(a7)
a = -2.10242264381335E-09 * (a7 - 11) ^ 15 + 3.41030774778833E-08 * (a7 - 11) ^ 14 + 3.43624389695466E-07 * (a7 - 11) ^ 13 - 4.84745035095284E-06 * (a7 - 11) ^ 12 - 2.25356471851807E-05 * (a7 - 11) ^ 11 + 2.64749441841326E-04 * (a7 - 11) ^ 10 + 7.6485237829807E-04 * (a7 - 11) ^ 9 - 7.10380799641412E-03 * (a7 - 11) ^ 8 - 1.46163437468015E-02 * (a7 - 11) ^ 7 + 0.100250213156956 * (a7 - 11) ^ 6 + 0.17803655737431 * (a7 - 11) ^ 5 - 0.706304149816486 * (a7 - 11) ^ 4 - 2.64102495974123 * (a7 - 11) ^ 3 - 1.88709439910053 * (a7 - 11) ^ 2 + 106.976862140847 * (a7 - 11) + 560.999995828852
End Function
tout marche tres bien
mais....
la formule que j'ai tapé moi meme va tout le temps changer sur la page excel
je voudrais savoir si c posssible de recuperer 7 formule sur la page excel, la faire passer dans ma macro, et l'appliquer
par exemple, sur la case a8 j'ai la formule '=a7^9+8A7^8+..' ('a7' c ma variable), et dans ma macro au lieu decrir toute la formule, la prendre directement sachant qu'il ya la variable 'a7 'dans ma formule
je c pas si je suis tres clair mais au pir des cas, je suis ouvert a vos question
voila ma macro, merci
Public a7
Sub densité()
Dim nbligne
Dim den
Range('I5').Select
ActiveCell.FormulaR1C1 = '=COUNT(C[-4])+1'
nbligne = Range('I5')
For d = 2 To nbligne
den = Cells(d, 5)
Cells(d, 8).Select
Dim a7
a7 = Cells(d, 6)
Select Case den
Case Is = ''
ActiveCell.Value = ''
Case 0 To aa
Cells(d, 8).Select
ActiveCell.Value = a(a7)
End Select
Next d
'Range('J1').Select
'hauteur = InputBox('Entrer la hauteur de moyeu')
'Range('J1').Value = hauteur
'Range('H2:I2').Select
' Selection.FormulaArray = '=LOGEST(R1C5:R1C6,RC[-3]:RC[-2])'
'Range('J2').Select
'ActiveCell.FormulaR1C1 = '=round(LN(R1C10/RC[-1])/LN(RC[-2]),2)'
'Range(Cells(2, 8), Cells(nbl, 10)).Select
'Selection.FillDown
'
End Sub
Public Function a(a7)
a = -2.10242264381335E-09 * (a7 - 11) ^ 15 + 3.41030774778833E-08 * (a7 - 11) ^ 14 + 3.43624389695466E-07 * (a7 - 11) ^ 13 - 4.84745035095284E-06 * (a7 - 11) ^ 12 - 2.25356471851807E-05 * (a7 - 11) ^ 11 + 2.64749441841326E-04 * (a7 - 11) ^ 10 + 7.6485237829807E-04 * (a7 - 11) ^ 9 - 7.10380799641412E-03 * (a7 - 11) ^ 8 - 1.46163437468015E-02 * (a7 - 11) ^ 7 + 0.100250213156956 * (a7 - 11) ^ 6 + 0.17803655737431 * (a7 - 11) ^ 5 - 0.706304149816486 * (a7 - 11) ^ 4 - 2.64102495974123 * (a7 - 11) ^ 3 - 1.88709439910053 * (a7 - 11) ^ 2 + 106.976862140847 * (a7 - 11) + 560.999995828852
End Function