Utilisateur anonyme
-
26 janv. 2006 à 16:17
bilalbilo
Messages postés1Date d'inscriptionvendredi 5 mars 2010StatutMembreDernière intervention 1 septembre 2010
-
1 sept. 2010 à 23:31
Salut!
Savez vous comment utiliser la fonction "linest" (="droitereg"(droite de regression)) sous vb?
il doit bien y avoir des API excel, que lon peut choper pour sen servir avec VB?
Si ca nest pas possible, quelqun pourrai me dire comment lancer excel automatiquement avec VB,coller des données dans des célulles,et les récuperer....?
cs_jordinette
Messages postés134Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 5 avril 2007 26 janv. 2006 à 16:38
bonjour,
c'est quoi ton 'linest'?
Ouvrir Excel et coller des données (qui sorte d'où???) dans des cellules de manière automatique c'est faisable. récupéré des données dans des cellules, c'est très simple mais pour en faire quoi?
Jordinette
Tout dabord, linest est une fonction qui, à partir de coordonnées de points(qui forme + ou - une droite), donne une équation approximative de la courbe. Les résultat obtenus de linest sont des coefficients.Le nombre de coeff est au choix. moi il men faut 6.(pour une equation du sixième degré. ex:y= k6 * x^6 + k5*x^5+k4*x^4+k3*x^3+k2*x^2+k1*x+ K )
les données à coller sont donc les coordonnés des points que jai.
et les données à recuperer sont les coeficients.
Voilà.
Donc eske tu connais la procédure pour ouvrir excel, et coller les coordonnés dans les céllules?
jimagine quil faut collé la formule excel linest dans une céllule et lancer le calcul...puis recuperer les resultats.
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 27 janv. 2006 à 08:59
Je pense que ce qu'il te faut est ci-après :
'pour lancer excel depuis VB :
Dim ObjExcel As Object
dim Valeur as double
'ouverture d'Excel
On Error Resume Next ' pour eéviter de retourner une erreur si Excel est déjà ouvert
Set ObjExcel = GetObject(, "Excel.application")
If ObjExcel Is Nothing Then Set ObjExcel = CreateObject("Excel.application")
On Error GoTo ErreurImpressionExcel
ObjExcel.Visible = True
ObjExcel.Workbooks.Add "NomFichier.xls"
' met valeur dans la cellule
Valeur = 123
ObjExcel.ActiveWorkbook.sheets(1).cells(iligne, icol).Value = Valeur
' lance une macro (utile pour toi pour lancer un calcul)
ObjExcel.Run "MaMacro"
' récupère une valeur de cellule (à la limute si la macro de calcul prend du temps, met une boucle d'attente avant de récupérer la valeur
Valeur =ObjExcel.ActiveWorkbook.sheets(1).cells(iligne, icol).Value
Pierre
alpamayo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Jai rencontré un nouveau problème; on ne peut appeller une macro en passant des parametre.
L'astuce est de coller la valeur de la variable parametre dans une céllule, et de la récuperer avec la macro.
Le hic cest que durant les manip jefface toutes les cellules. Donc il me faudrait une autre solution, merci.
cs_alpamayo
Messages postés16Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention22 septembre 2010 6 févr. 2006 à 12:16
je n'ai pas testé pour le passage des paramètres, ce que tu peux déjà faire c'est créer une autre feuille avec un sheets.add, tu mets tes variables dedans et tu effaces la feuille après tes traitements sur la feuille1 (fais un sheets(1).activate pour travailler sur la feuille 1)