Utiliser des fonctions excel sous vb

Résolu
Utilisateur anonyme - 26 janv. 2006 à 16:17
bilalbilo Messages postés 1 Date d'inscription vendredi 5 mars 2010 Statut Membre Derniè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....?

8 réponses

Utilisateur anonyme
6 févr. 2006 à 14:14
Jai trouvé, cest
ObjExcel.Run "MaMacro", param1,parm2,...
3
cs_jordinette Messages postés 134 Date d'inscription mercredi 2 mars 2005 Statut Membre Derniè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
0
Utilisateur anonyme
26 janv. 2006 à 17:34
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.

mais je suis néophyte. Aidez-moi!
0
cs_alpamayo Messages postés 16 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 22 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
27 janv. 2006 à 10:32
Ok, cest cool!
Merci pour le tuyau
0
Utilisateur anonyme
6 févr. 2006 à 11:28
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.
0
cs_alpamayo Messages postés 16 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 22 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)

alpamayo
0
bilalbilo Messages postés 1 Date d'inscription vendredi 5 mars 2010 Statut Membre Dernière intervention 1 septembre 2010
1 sept. 2010 à 23:31
Utiliser des fonctions excel sous vb
0
Rejoignez-nous