Utiliser des fonctions excel sous vb [Résolu]

Signaler
Messages postés
37
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
3 décembre 2007
-
bilalbilo
Messages postés
1
Date d'inscription
vendredi 5 mars 2010
Statut
Membre
Dernière intervention
1 septembre 2010
-
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

Messages postés
37
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Jai trouvé, cest
ObjExcel.Run "MaMacro", param1,parm2,...
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 251 internautes nous ont dit merci ce mois-ci

Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007

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
Messages postés
37
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
3 décembre 2007

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!
Messages postés
16
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
22 septembre 2010

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
Messages postés
37
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
3 décembre 2007

Ok, cest cool!
Merci pour le tuyau
Messages postés
37
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
3 décembre 2007

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.
Messages postés
16
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
22 septembre 2010

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
Messages postés
1
Date d'inscription
vendredi 5 mars 2010
Statut
Membre
Dernière intervention
1 septembre 2010

Utiliser des fonctions excel sous vb