formule de excel vers ma macro

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
 

pat1545.

XLDnaute Accro
Salut,

il est de loin préférable de ne pas utiliser des noms 'réservés' ou des noms qui peuvent etre des cellules comme a, d, aa dans ton code !!!

C'est tout , je n'ai pas essayé de le faire tourner (pas le temps) mais tu peux me croire sur paroles et ce sera confirmé certainement par d'autres ici.


Patrick
 
D

david

Guest
tit prob avec l'ordi du boulot j'arrive pas à envoyer le fichier joint, je v tenter de trouver un autre ordi pour vous l' envoyer [file name=production en fonction densité_20050421145557.zip size=43346]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/production en fonction densité_20050421145557.zip[/file]
 

Pièces jointes

  • production en fonction densité_20050421145557.zip
    42.3 KB · Affichages: 16

galopin01

XLDnaute Occasionnel
bonjour,
si j'ai bien compris... l'idée c'est de créer une fonction personnalisée qui ne fait que passer ta variable à la cellule A8
Function BIDON()
BIDON = a7
End FUNCTION
ensuite tu récupères directement 'A8' = '=BIDON()^9+8BIDON()^8+..'
et tu n'as même plus besoin de ta fonction a
Sinon si j'ai rien compris tu fais encore un petit effort pour nous mettre un fichier joint sans accent :
(production en fonction densité)
A+
 
D

david

Guest
ma variable c 'a7' dans ma formule elle sappelle comme ca j'ai pas trop le choix faut voir mon fichier pour comprendre.
cette formule est ecrite ds une case d'excel
l'idée c de recuperer cette formule dans ma macro et de remplacer 'a7' par les differentes valeur de vitesses que j'ai.

je tente de mettre mon fichier joint pour la 3eme fois j'esper que c la bonne, je savais pas que les accents faissaient des merdes [file name=macro_20050421160316.zip size=43346]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/macro_20050421160316.zip[/file]
 

Pièces jointes

  • macro_20050421160316.zip
    42.3 KB · Affichages: 15

Discussions similaires

Réponses
0
Affichages
308

Statistiques des forums

Discussions
314 630
Messages
2 111 375
Membres
111 115
dernier inscrit
mermo